hsa: allow first segments larger than 4g for proxy
[vpp.git] / src / plugins / hs_apps / proxy.h
index 87a9618..26f4de2 100644 (file)
@@ -31,55 +31,46 @@ typedef struct
   svm_fifo_t *server_rx_fifo;
   svm_fifo_t *server_tx_fifo;
 
-  u64 vpp_server_handle;
-  u64 vpp_active_open_handle;
+  session_handle_t vpp_server_handle;
+  session_handle_t vpp_active_open_handle;
+  volatile int active_open_establishing;
+  volatile int po_disconnected;
+  volatile int ao_disconnected;
+
+  u32 ps_index;
+  u32 po_thread_index;
 } proxy_session_t;
 
 typedef struct
 {
-  svm_queue_t *vl_input_queue; /**< vpe input queue */
-  /** per-thread vectors */
-  svm_msg_q_t **server_event_queue;
-  svm_msg_q_t **active_open_event_queue;
+  proxy_session_t *sessions;           /**< session pool, shared */
+  clib_spinlock_t sessions_lock;       /**< lock for session pool */
   u8 **rx_buf;                         /**< intermediate rx buffers */
 
-  u32 cli_node_index;                  /**< cli process node index */
   u32 server_client_index;             /**< server API client handle */
   u32 server_app_index;                        /**< server app index */
   u32 active_open_client_index;                /**< active open API client handle */
   u32 active_open_app_index;           /**< active open index after attach */
-
-  uword *proxy_session_by_server_handle;
-  uword *proxy_session_by_active_open_handle;
+  u32 ckpair_index;                    /**< certkey pair index for tls */
 
   /*
    * Configuration params
    */
-  u8 *connect_uri;                     /**< URI for slave's connect */
-  u32 configured_segment_size;
   u32 fifo_size;                       /**< initial fifo size */
   u32 max_fifo_size;                   /**< max fifo size */
   u8 high_watermark;                   /**< high watermark (%) */
   u8 low_watermark;                    /**< low watermark (%) */
   u32 private_segment_count;           /**< Number of private fifo segs */
-  u32 private_segment_size;            /**< size of private fifo segs */
+  u64 segment_size;                    /**< size of fifo segs */
+  u8 prealloc_fifos;                   /**< Request fifo preallocation */
   int rcv_buffer_size;
-  u8 *server_uri;
-  u8 *client_uri;
-
-  /*
-   * Test state variables
-   */
-  proxy_session_t *sessions;           /**< Session pool, shared */
-  clib_spinlock_t sessions_lock;
-  u32 **connection_index_by_thread;
-  pthread_t client_thread_handle;
+  session_endpoint_cfg_t server_sep;
+  session_endpoint_cfg_t client_sep;
 
   /*
    * Flags
    */
   u8 is_init;
-  u8 prealloc_fifos;           /**< Request fifo preallocation */
 } proxy_main_t;
 
 extern proxy_main_t proxy_main;