tls: add openssl engine
[vpp.git] / src / vnet / session-apps / echo_client.c
index c38b533..2cfb471 100644 (file)
@@ -413,13 +413,21 @@ echo_clients_rx_callback (stream_session_t * s)
   return 0;
 }
 
+int
+echo_client_add_segment_callback (u32 client_index, const ssvm_private_t * sp)
+{
+  /* New heaps may be added */
+  return 0;
+}
+
 /* *INDENT-OFF* */
 static session_cb_vft_t echo_clients = {
   .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_server_rx_callback = echo_clients_rx_callback
+  .builtin_app_rx_callback = echo_clients_rx_callback,
+  .add_segment_callback = echo_client_add_segment_callback
 };
 /* *INDENT-ON* */
 
@@ -445,12 +453,13 @@ echo_clients_attach (u8 * appns_id, u64 appns_flags, u64 appns_secret)
 
   options[APP_OPTIONS_ACCEPT_COOKIE] = 0x12345678;
   options[APP_OPTIONS_SEGMENT_SIZE] = segment_size;
+  options[APP_OPTIONS_ADD_SEGMENT_SIZE] = segment_size;
   options[APP_OPTIONS_RX_FIFO_SIZE] = ecm->fifo_size;
   options[APP_OPTIONS_TX_FIFO_SIZE] = ecm->fifo_size;
   options[APP_OPTIONS_PRIVATE_SEGMENT_COUNT] = ecm->private_segment_count;
   options[APP_OPTIONS_PREALLOC_FIFO_PAIRS] = prealloc_fifos;
-
   options[APP_OPTIONS_FLAGS] = APP_OPTIONS_FLAGS_IS_BUILTIN;
+  options[APP_OPTIONS_TLS_ENGINE] = ecm->tls_engine;
   if (appns_id)
     {
       options[APP_OPTIONS_FLAGS] |= appns_flags;
@@ -511,14 +520,13 @@ echo_clients_connect (vlib_main_t * vm, u32 n_clients)
   vnet_connect_args_t _a, *a = &_a;
   clib_error_t *error = 0;
   int i;
+
+  memset (a, 0, sizeof (*a));
   for (i = 0; i < n_clients; i++)
     {
-      memset (a, 0, sizeof (*a));
-
       a->uri = (char *) ecm->connect_uri;
       a->api_context = i;
       a->app_index = ecm->app_index;
-      a->mp = 0;
 
       if ((error = vnet_connect_uri (a)))
        return error;
@@ -567,6 +575,8 @@ echo_clients_command_fn (vlib_main_t * vm,
   ecm->test_bytes = 0;
   ecm->test_failed = 0;
   ecm->vlib_main = vm;
+  ecm->tls_engine = TLS_ENGINE_OPENSSL;
+
   if (thread_main->n_vlib_mains > 1)
     clib_spinlock_init (&ecm->sessions_lock);
   vec_free (ecm->connect_uri);
@@ -624,8 +634,10 @@ echo_clients_command_fn (vlib_main_t * vm,
        ecm->no_output = 1;
       else if (unformat (input, "test-bytes"))
        ecm->test_bytes = 1;
+      else if (unformat (input, "tls-engine %d", &ecm->tls_engine))
+       ;
       else
-       return clib_error_return (0, "unknown input `%U'",
+       return clib_error_return (0, "failed: unknown input `%U'",
                                  format_unformat_error, input);
     }