host stack: update stale copyright
[vpp.git] / src / vnet / session-apps / echo_client.h
index 4ae63ec..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:
 
 typedef struct
 {
+  CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
+  app_session_t data;
   u64 bytes_to_send;
   u64 bytes_sent;
   u64 bytes_to_receive;
   u64 bytes_received;
-
-  svm_fifo_t *server_rx_fifo;
-  svm_fifo_t *server_tx_fifo;
-
   u64 vpp_session_handle;
-} session_t;
+  u8 thread_index;
+} eclient_session_t;
 
 typedef struct
 {
   /*
    * Application setup parameters
    */
-  svm_queue_t *vl_input_queue; /**< vpe input queue */
-  svm_queue_t **vpp_event_queue;
+  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 */
@@ -64,11 +63,14 @@ typedef struct
   u32 connections_per_batch;           /**< Connections to rx/tx at once */
   u32 private_segment_count;           /**< Number of private fifo segs */
   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 */
@@ -103,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;