FD.io VPP  v19.08.1-401-g8e4ed521a
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_bound_handler (session_bound_msg_t *mp)
 
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 handle_mq_event (session_event_t *e)
 
static void echo_process_rpcs (echo_main_t *em)
 
static int echo_mq_dequeue_batch (svm_msg_q_t *mq, svm_msg_q_msg_t *msg_vec, u32 n_max_msg)
 
static void * echo_mq_thread_fn (void *arg)
 
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

◆ clients_run()

static void clients_run ( echo_main_t em)
static

Definition at line 745 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 80 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 327 of file vpp_echo.c.

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

◆ echo_data_thread_fn()

static void* echo_data_thread_fn ( void *  arg)
static

Definition at line 400 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 237 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 346 of file vpp_echo.c.

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

◆ echo_mq_dequeue_batch()

static int echo_mq_dequeue_batch ( svm_msg_q_t mq,
svm_msg_q_msg_t msg_vec,
u32  n_max_msg 
)
inlinestatic

Definition at line 683 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 700 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 825 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 852 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 660 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 961 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 59 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 840 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 221 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 633 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 993 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 318 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 114 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 166 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 774 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 284 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 302 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 757 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 479 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 453 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 536 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 592 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 613 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 73 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 262 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 984 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.