FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
vpp_echo.c File Reference
+ Include dependency graph for vpp_echo.c:

Go to the source code of this file.

Functions

static void echo_session_prealloc (echo_main_t *em)
 
static void echo_assert_test_suceeded (echo_main_t *em)
 
static void echo_session_dequeue_notify (echo_session_t *s)
 
static void stop_signal (int signum)
 
int connect_to_vpp (char *name)
 
static void print_global_json_stats (echo_main_t *em)
 
static void print_global_stats (echo_main_t *em)
 
void echo_update_count_on_session_close (echo_main_t *em, echo_session_t *s)
 
static void echo_free_sessions (echo_main_t *em)
 
static void test_recv_bytes (echo_main_t *em, echo_session_t *s, u8 *rx_buf, u32 n_read)
 
static int recv_data_chunk (echo_main_t *em, echo_session_t *s, u8 *rx_buf)
 
static int send_data_chunk (echo_session_t *s, u8 *tx_buf, int offset, int len)
 
static int mirror_data_chunk (echo_main_t *em, echo_session_t *s, u8 *tx_buf, u64 len)
 
static void echo_check_closed_listener (echo_main_t *em, echo_session_t *s)
 
static void echo_handle_data (echo_main_t *em, echo_session_t *s, u8 *rx_buf)
 
static void * echo_data_thread_fn (void *arg)
 
static void session_unlisten_handler (session_unlisten_reply_msg_t *mp)
 
static void session_bound_handler (session_bound_msg_t *mp)
 
static int echo_segment_is_not_mapped (u64 segment_handle)
 
static void session_accepted_handler (session_accepted_msg_t *mp)
 
static void session_connected_handler (session_connected_msg_t *mp)
 
static void session_disconnected_handler (session_disconnected_msg_t *mp)
 
static void session_reset_handler (session_reset_msg_t *mp)
 
static void add_segment_handler (session_app_add_segment_msg_t *mp)
 
static void del_segment_handler (session_app_del_segment_msg_t *mp)
 
static void cleanup_handler (session_cleanup_msg_t *mp)
 
static void handle_mq_event (session_event_t *e)
 
static void echo_process_rpcs (echo_main_t *em)
 
static void echo_print_periodic_stats (echo_main_t *em)
 
static void * echo_mq_thread_fn (void *arg)
 
static void echo_cycle_ip (echo_main_t *em, ip46_address_t *ip, ip46_address_t *src_ip, u32 i)
 
static void clients_run (echo_main_t *em)
 
static void server_run (echo_main_t *em)
 
static void print_usage_and_exit (void)
 
static int echo_process_each_proto_opts (unformat_input_t *a)
 
static void echo_set_each_proto_defaults_before_opts (echo_main_t *em)
 
void echo_process_opts (int argc, char **argv)
 
void echo_process_uri (echo_main_t *em)
 
static void __clib_constructor vpp_echo_init ()
 
int main (int argc, char **argv)
 

Variables

echo_main_t echo_main
 

Function Documentation

◆ add_segment_handler()

static void add_segment_handler ( session_app_add_segment_msg_t mp)
static

Definition at line 733 of file vpp_echo.c.

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

◆ cleanup_handler()

static void cleanup_handler ( session_cleanup_msg_t mp)
static

Definition at line 793 of file vpp_echo.c.

+ Here is the caller graph for this function:

◆ clients_run()

static void clients_run ( echo_main_t em)
static

Definition at line 956 of file vpp_echo.c.

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

◆ connect_to_vpp()

int connect_to_vpp ( char *  name)

Definition at line 88 of file vpp_echo.c.

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

◆ del_segment_handler()

static void del_segment_handler ( session_app_del_segment_msg_t mp)
static

Definition at line 785 of file vpp_echo.c.

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

◆ echo_assert_test_suceeded()

static void echo_assert_test_suceeded ( echo_main_t em)
static

Definition at line 43 of file vpp_echo.c.

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

◆ echo_check_closed_listener()

static void echo_check_closed_listener ( echo_main_t em,
echo_session_t s 
)
inlinestatic

Definition at line 353 of file vpp_echo.c.

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

◆ echo_cycle_ip()

static void echo_cycle_ip ( echo_main_t em,
ip46_address_t *  ip,
ip46_address_t *  src_ip,
u32  i 
)
inlinestatic

Definition at line 937 of file vpp_echo.c.

+ Here is the caller graph for this function:

◆ echo_data_thread_fn()

static void* echo_data_thread_fn ( void *  arg)
static

Definition at line 439 of file vpp_echo.c.

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

◆ echo_free_sessions()

static void echo_free_sessions ( echo_main_t em)
static

Definition at line 259 of file vpp_echo.c.

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

◆ echo_handle_data()

static void echo_handle_data ( echo_main_t em,
echo_session_t s,
u8 rx_buf 
)
static

Definition at line 383 of file vpp_echo.c.

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

◆ echo_mq_thread_fn()

static void* echo_mq_thread_fn ( void *  arg)
static

Definition at line 885 of file vpp_echo.c.

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

◆ echo_print_periodic_stats()

static void echo_print_periodic_stats ( echo_main_t em)
inlinestatic

Definition at line 857 of file vpp_echo.c.

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

◆ echo_process_each_proto_opts()

static int echo_process_each_proto_opts ( unformat_input_t a)
static

Definition at line 1068 of file vpp_echo.c.

+ Here is the caller graph for this function:

◆ echo_process_opts()

void echo_process_opts ( int  argc,
char **  argv 
)

Definition at line 1095 of file vpp_echo.c.

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

◆ echo_process_rpcs()

static void echo_process_rpcs ( echo_main_t em)
static

Definition at line 834 of file vpp_echo.c.

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

◆ echo_process_uri()

void echo_process_uri ( echo_main_t em)

Definition at line 1244 of file vpp_echo.c.

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

◆ echo_segment_is_not_mapped()

static int echo_segment_is_not_mapped ( u64  segment_handle)
static

Definition at line 541 of file vpp_echo.c.

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

◆ echo_session_dequeue_notify()

static void echo_session_dequeue_notify ( echo_session_t s)
inlinestatic

Definition at line 67 of file vpp_echo.c.

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

◆ echo_session_prealloc()

static void echo_session_prealloc ( echo_main_t em)
static

Definition at line 27 of file vpp_echo.c.

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

◆ echo_set_each_proto_defaults_before_opts()

static void echo_set_each_proto_defaults_before_opts ( echo_main_t em)
static

Definition at line 1083 of file vpp_echo.c.

+ Here is the caller graph for this function:

◆ echo_update_count_on_session_close()

void echo_update_count_on_session_close ( echo_main_t em,
echo_session_t s 
)

Definition at line 244 of file vpp_echo.c.

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

◆ handle_mq_event()

static void handle_mq_event ( session_event_t *  e)
static

Definition at line 799 of file vpp_echo.c.

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

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 1276 of file vpp_echo.c.

+ Here is the call graph for this function:

◆ mirror_data_chunk()

static int mirror_data_chunk ( echo_main_t em,
echo_session_t s,
u8 tx_buf,
u64  len 
)
static

Definition at line 344 of file vpp_echo.c.

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

◆ print_global_json_stats()

static void print_global_json_stats ( echo_main_t em)
static

Definition at line 122 of file vpp_echo.c.

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

◆ print_global_stats()

static void print_global_stats ( echo_main_t em)
static

Definition at line 183 of file vpp_echo.c.

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

◆ print_usage_and_exit()

static void print_usage_and_exit ( void  )
static

Definition at line 1010 of file vpp_echo.c.

+ Here is the caller graph for this function:

◆ recv_data_chunk()

static int recv_data_chunk ( echo_main_t em,
echo_session_t s,
u8 rx_buf 
)
static

Definition at line 306 of file vpp_echo.c.

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

◆ send_data_chunk()

static int send_data_chunk ( echo_session_t s,
u8 tx_buf,
int  offset,
int  len 
)
static

Definition at line 325 of file vpp_echo.c.

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

◆ server_run()

static void server_run ( echo_main_t em)
static

Definition at line 979 of file vpp_echo.c.

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

◆ session_accepted_handler()

static void session_accepted_handler ( session_accepted_msg_t mp)
static

Definition at line 556 of file vpp_echo.c.

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

◆ session_bound_handler()

static void session_bound_handler ( session_bound_msg_t mp)
static

Definition at line 514 of file vpp_echo.c.

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

◆ session_connected_handler()

static void session_connected_handler ( session_connected_msg_t mp)
static

Definition at line 620 of file vpp_echo.c.

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

◆ session_disconnected_handler()

static void session_disconnected_handler ( session_disconnected_msg_t mp)
static

Definition at line 679 of file vpp_echo.c.

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

◆ session_reset_handler()

static void session_reset_handler ( session_reset_msg_t mp)
static

Definition at line 710 of file vpp_echo.c.

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

◆ session_unlisten_handler()

static void session_unlisten_handler ( session_unlisten_reply_msg_t mp)
static

Definition at line 499 of file vpp_echo.c.

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

◆ stop_signal()

static void stop_signal ( int  signum)
static

Definition at line 81 of file vpp_echo.c.

+ Here is the caller graph for this function:

◆ test_recv_bytes()

static void test_recv_bytes ( echo_main_t em,
echo_session_t s,
u8 rx_buf,
u32  n_read 
)
static

Definition at line 284 of file vpp_echo.c.

+ Here is the caller graph for this function:

◆ vpp_echo_init()

static void __clib_constructor vpp_echo_init ( )
static

Definition at line 1267 of file vpp_echo.c.

+ Here is the call graph for this function:

Variable Documentation

◆ echo_main

echo_main_t echo_main

Definition at line 24 of file vpp_echo.c.