FD.io VPP  v18.07.1-19-g511ce25
Vector Packet Processing
echo_client.c File Reference
+ Include dependency graph for echo_client.c:

Go to the source code of this file.

Macros

#define ECHO_CLIENT_DBG   (0)
 
#define ec_cli_output(_fmt, _args...)
 

Functions

static void signal_evt_to_cli_i (int *code)
 
static void signal_evt_to_cli (int code)
 
static void send_data_chunk (echo_client_main_t *ecm, eclient_session_t *s)
 
static void receive_data_chunk (echo_client_main_t *ecm, eclient_session_t *s)
 
static uword echo_client_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static int create_api_loopback (echo_client_main_t *ecm)
 
static int echo_clients_init (vlib_main_t *vm)
 
static int echo_clients_session_connected_callback (u32 app_index, u32 api_context, stream_session_t *s, u8 is_fail)
 
static void echo_clients_session_reset_callback (stream_session_t *s)
 
static int echo_clients_session_create_callback (stream_session_t *s)
 
static void echo_clients_session_disconnect_callback (stream_session_t *s)
 
static int echo_clients_rx_callback (stream_session_t *s)
 
int echo_client_add_segment_callback (u32 client_index, const ssvm_private_t *sp)
 
static clib_error_techo_clients_attach (u8 *appns_id, u64 appns_flags, u64 appns_secret)
 
static int echo_clients_detach ()
 
static void * echo_client_thread_fn (void *arg)
 
int echo_clients_start_tx_pthread (echo_client_main_t *ecm)
 Start a transmit thread. More...
 
clib_error_techo_clients_connect (vlib_main_t *vm, u32 n_clients)
 
static clib_error_techo_clients_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
clib_error_techo_clients_main_init (vlib_main_t *vm)
 

Variables

echo_client_main_t echo_client_main
 
vlib_node_registration_t echo_clients_node
 (constructor) VLIB_REGISTER_NODE (echo_clients_node) More...
 
static session_cb_vft_t echo_clients
 
static vlib_cli_command_t echo_clients_command
 (constructor) VLIB_CLI_COMMAND (echo_clients_command) More...
 

Macro Definition Documentation

#define ec_cli_output (   _fmt,
  _args... 
)
Value:
if (!ecm->no_output) \
vlib_cli_output(vm, _fmt, ##_args)
vlib_main_t * vm
Definition: buffer.c:294
void vlib_cli_output(vlib_main_t *vm, char *fmt,...)
Definition: cli.c:681

Definition at line 611 of file echo_client.c.

#define ECHO_CLIENT_DBG   (0)

Definition at line 25 of file echo_client.c.

Function Documentation

static int create_api_loopback ( echo_client_main_t ecm)
static

Definition at line 322 of file echo_client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int echo_client_add_segment_callback ( u32  client_index,
const ssvm_private_t sp 
)

Definition at line 482 of file echo_client.c.

static uword echo_client_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 205 of file echo_client.c.

+ Here is the call graph for this function:

static void* echo_client_thread_fn ( void *  arg)
static

Definition at line 558 of file echo_client.c.

+ Here is the caller graph for this function:

static clib_error_t* echo_clients_attach ( u8 appns_id,
u64  appns_flags,
u64  appns_secret 
)
static

Definition at line 500 of file echo_client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* echo_clients_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 616 of file echo_client.c.

+ Here is the call graph for this function:

clib_error_t* echo_clients_connect ( vlib_main_t vm,
u32  n_clients 
)

Definition at line 582 of file echo_client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int echo_clients_detach ( )
static

Definition at line 544 of file echo_client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int echo_clients_init ( vlib_main_t vm)
static

Definition at line 335 of file echo_client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* echo_clients_main_init ( vlib_main_t vm)

Definition at line 885 of file echo_client.c.

static int echo_clients_rx_callback ( stream_session_t s)
static

Definition at line 454 of file echo_client.c.

+ Here is the call graph for this function:

static int echo_clients_session_connected_callback ( u32  app_index,
u32  api_context,
stream_session_t s,
u8  is_fail 
)
static

Definition at line 366 of file echo_client.c.

+ Here is the call graph for this function:

static int echo_clients_session_create_callback ( stream_session_t s)
static

Definition at line 437 of file echo_client.c.

static void echo_clients_session_disconnect_callback ( stream_session_t s)
static

Definition at line 443 of file echo_client.c.

+ Here is the call graph for this function:

static void echo_clients_session_reset_callback ( stream_session_t s)
static

Definition at line 428 of file echo_client.c.

+ Here is the call graph for this function:

int echo_clients_start_tx_pthread ( echo_client_main_t ecm)

Start a transmit thread.

Definition at line 565 of file echo_client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void receive_data_chunk ( echo_client_main_t ecm,
eclient_session_t s 
)
static

Definition at line 143 of file echo_client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void send_data_chunk ( echo_client_main_t ecm,
eclient_session_t s 
)
static

Definition at line 46 of file echo_client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void signal_evt_to_cli ( int  code)
static

Definition at line 36 of file echo_client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void signal_evt_to_cli_i ( int *  code)
static

Definition at line 28 of file echo_client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

echo_client_main_t echo_client_main

Definition at line 23 of file echo_client.c.

session_cb_vft_t echo_clients
static
Initial value:
= {
.session_reset_callback = echo_clients_session_reset_callback,
.session_connected_callback = echo_clients_session_connected_callback,
.session_accept_callback = echo_clients_session_create_callback,
.session_disconnect_callback = echo_clients_session_disconnect_callback,
.builtin_app_rx_callback = echo_clients_rx_callback,
.add_segment_callback = echo_client_add_segment_callback
}
static void echo_clients_session_disconnect_callback(stream_session_t *s)
Definition: echo_client.c:443
static int echo_clients_rx_callback(stream_session_t *s)
Definition: echo_client.c:454
static int echo_clients_session_create_callback(stream_session_t *s)
Definition: echo_client.c:437
static int echo_clients_session_connected_callback(u32 app_index, u32 api_context, stream_session_t *s, u8 is_fail)
Definition: echo_client.c:366
int echo_client_add_segment_callback(u32 client_index, const ssvm_private_t *sp)
Definition: echo_client.c:482
static void echo_clients_session_reset_callback(stream_session_t *s)
Definition: echo_client.c:428

Definition at line 489 of file echo_client.c.

vlib_cli_command_t echo_clients_command
static
Initial value:
=
{
.path = "test echo clients",
.short_help = "test echo clients [nclients %d][[m|g]bytes <bytes>]"
"[test-timeout <time>][syn-timeout <time>][no-return][fifo-size <size>]"
"[private-segment-count <count>][private-segment-size <bytes>[m|g]]"
"[preallocate-fifos][preallocate-sessions][client-batch <batch-size>]"
"[uri <tcp://ip/port>][test-bytes][no-output]",
.is_mp_safe = 1,
}
static clib_error_t * echo_clients_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: echo_client.c:616

(constructor) VLIB_CLI_COMMAND (echo_clients_command)

Definition at line 871 of file echo_client.c.

vlib_node_registration_t echo_clients_node
Initial value:
=
{
.function = echo_client_node_fn,
.name = "echo-clients",
.state = VLIB_NODE_STATE_DISABLED,
}
static uword echo_client_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: echo_client.c:205

(constructor) VLIB_REGISTER_NODE (echo_clients_node)

Definition at line 312 of file echo_client.c.