summaryrefslogtreecommitdiffstats
path: root/src/plugins/hs_apps/echo_client.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/hs_apps/echo_client.h')
-rw-r--r--src/plugins/hs_apps/echo_client.h60
1 files changed, 34 insertions, 26 deletions
diff --git a/src/plugins/hs_apps/echo_client.h b/src/plugins/hs_apps/echo_client.h
index c4983ca78d8..ba467b1f537 100644
--- a/src/plugins/hs_apps/echo_client.h
+++ b/src/plugins/hs_apps/echo_client.h
@@ -42,19 +42,43 @@ typedef struct
typedef struct
{
/*
+ * Test state variables
+ */
+ eclient_session_t *sessions; /**< Session pool, shared */
+ clib_spinlock_t sessions_lock; /**< Session pool lock */
+ u8 **rx_buf; /**< intermediate rx buffers */
+ u8 *connect_test_data; /**< Pre-computed test data */
+ u32 **quic_session_index_by_thread;
+ u32 **connection_index_by_thread;
+ u32 **connections_this_batch_by_thread; /**< active connection batch */
+
+ volatile u32 ready_connections;
+ volatile u32 finished_connections;
+ volatile u64 rx_total;
+ volatile u64 tx_total;
+ volatile int run_test; /**< Signal start of test */
+
+ f64 syn_start_time;
+ f64 test_start_time;
+ f64 test_end_time;
+ u32 prev_conns;
+ u32 repeats;
+
+ /*
* Application setup parameters
*/
- svm_queue_t *vl_input_queue; /**< vpe input queue */
svm_msg_q_t **vpp_event_queue;
u32 cli_node_index; /**< cli process node index */
- u32 my_client_index; /**< loopback API client handle */
u32 app_index; /**< app index after attach */
+ pthread_t client_thread_handle;
/*
* Configuration params
*/
+ u32 n_clients; /**< Number of clients */
u8 *connect_uri; /**< URI for slave's connect */
+ session_endpoint_cfg_t connect_sep; /**< Sever session endpoint */
u64 bytes_to_send; /**< Bytes to send */
u32 configured_segment_size;
u32 fifo_size;
@@ -67,43 +91,27 @@ typedef struct
u32 no_copy; /**< Don't memcpy data to tx fifo */
u32 quic_streams; /**< QUIC streams per connection */
u32 ckpair_index; /**< Cert key pair for tls/quic */
+ u64 attach_flags; /**< App attach flags */
+ u8 *appns_id; /**< App namespaces id */
+ u64 appns_secret; /**< App namespace secret */
+ f64 syn_timeout; /**< Test syn timeout (s) */
+ f64 test_timeout; /**< Test timeout (s) */
/*
- * Test state variables
- */
- eclient_session_t *sessions; /**< Session pool, shared */
- clib_spinlock_t sessions_lock;
- u8 **rx_buf; /**< intermediate rx buffers */
- u8 *connect_test_data; /**< Pre-computed test data */
- u32 **quic_session_index_by_thread;
- u32 **connection_index_by_thread;
- u32 **connections_this_batch_by_thread; /**< active connection batch */
- pthread_t client_thread_handle;
-
- volatile u32 ready_connections;
- volatile u32 finished_connections;
- volatile u64 rx_total;
- volatile u64 tx_total;
- volatile int run_test; /**< Signal start of test */
-
- f64 test_start_time;
- f64 test_end_time;
- u32 prev_conns;
- u32 repeats;
- /*
* Flags
*/
- u8 is_init;
+ u8 app_is_init;
u8 test_client_attached;
u8 no_return;
u8 test_return_packets;
- int i_am_master;
int drop_packets; /**< drop all packets */
u8 prealloc_fifos; /**< Request fifo preallocation */
+ u8 prealloc_sessions;
u8 no_output;
u8 test_bytes;
u8 test_failed;
u8 transport_proto;
+ u8 barrier_acq_needed;
vlib_main_t *vlib_main;
} echo_client_main_t;