host stack: update stale copyright
[vpp.git] / src / vnet / session-apps / echo_client.h
index 344e438..b183ed7 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * echo_client.h - built-in application layer echo client
  *
- * Copyright (c) <current-year> <your-organization>
+ * Copyright (c) 2017-2019 Cisco and/or its affiliates.
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at:
@@ -30,6 +30,7 @@
 
 typedef struct
 {
+  CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
   app_session_t data;
   u64 bytes_to_send;
   u64 bytes_sent;
@@ -37,7 +38,7 @@ typedef struct
   u64 bytes_received;
   u64 vpp_session_handle;
   u8 thread_index;
-} session_t;
+} eclient_session_t;
 
 typedef struct
 {
@@ -45,7 +46,7 @@ typedef struct
    * Application setup parameters
    */
   svm_queue_t *vl_input_queue;         /**< vpe input queue */
-  svm_queue_t **vpp_event_queue;
+  svm_msg_q_t **vpp_event_queue;
 
   u32 cli_node_index;                  /**< cli process node index */
   u32 my_client_index;                 /**< loopback API client handle */
@@ -64,10 +65,12 @@ typedef struct
   u32 private_segment_size;            /**< size of private fifo segs */
   u32 tls_engine;                      /**< TLS engine mbedtls/openssl */
   u8 is_dgram;
+  u32 no_copy;                         /**< Don't memcpy data to tx fifo */
+
   /*
    * Test state variables
    */
-  session_t *sessions;                 /**< Session pool, shared */
+  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 */
@@ -102,6 +105,12 @@ typedef struct
   vlib_main_t *vlib_main;
 } echo_client_main_t;
 
+enum
+{
+  ECHO_CLIENTS_STARTING,
+  ECHO_CLIENTS_RUNNING,
+  ECHO_CLIENTS_EXITING
+} echo_clients_test_state_e;
 extern echo_client_main_t echo_client_main;
 
 vlib_node_registration_t echo_clients_node;