X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Ftlsmbedtls%2Ftls_mbedtls.c;h=3fccba2ec5a1611b9b6f421751de76057d208dbc;hb=4c4223edf;hp=7a2abaf39b90e001ba5832384b9f959a38d1f92b;hpb=79f89537c6fd3baeac03354a3381f42895fe2ca8;p=vpp.git diff --git a/src/plugins/tlsmbedtls/tls_mbedtls.c b/src/plugins/tlsmbedtls/tls_mbedtls.c index 7a2abaf39b9..3fccba2ec5a 100644 --- a/src/plugins/tlsmbedtls/tls_mbedtls.c +++ b/src/plugins/tlsmbedtls/tls_mbedtls.c @@ -80,7 +80,7 @@ mbedtls_ctx_alloc (void) clib_memset (*ctx, 0, sizeof (mbedtls_ctx_t)); (*ctx)->ctx.c_thread_index = thread_index; - (*ctx)->ctx.tls_ctx_engine = TLS_ENGINE_MBEDTLS; + (*ctx)->ctx.tls_ctx_engine = CRYPTO_ENGINE_MBEDTLS; (*ctx)->mbedtls_ctx_index = ctx - tm->ctx_pool[thread_index]; return ((*ctx)->mbedtls_ctx_index); } @@ -414,11 +414,11 @@ mbedtls_ctx_handshake_rx (tls_ctx_t * ctx) */ if (ctx->srv_hostname) { - tls_notify_app_connected (ctx, /* is failed */ 0); + tls_notify_app_connected (ctx, SESSION_E_TLS_HANDSHAKE); return -1; } } - tls_notify_app_connected (ctx, /* is failed */ 0); + tls_notify_app_connected (ctx, SESSION_E_NONE); } else { @@ -431,7 +431,8 @@ mbedtls_ctx_handshake_rx (tls_ctx_t * ctx) } static int -mbedtls_ctx_write (tls_ctx_t * ctx, session_t * app_session) +mbedtls_ctx_write (tls_ctx_t * ctx, session_t * app_session, + transport_send_params_t * sp) { mbedtls_ctx_t *mc = (mbedtls_ctx_t *) ctx; u8 thread_index = ctx->c_thread_index; @@ -446,13 +447,14 @@ mbedtls_ctx_write (tls_ctx_t * ctx, session_t * app_session) if (!deq_max) return 0; + deq_max = clib_min (deq_max, sp->max_burst_size); tls_session = session_get_from_handle (ctx->tls_session_handle); enq_max = svm_fifo_max_enqueue_prod (tls_session->tx_fifo); deq_now = clib_min (deq_max, TLS_CHUNK_SIZE); if (PREDICT_FALSE (enq_max == 0)) { - tls_add_vpp_q_builtin_tx_evt (app_session); + app_session->flags |= SESSION_F_CUSTOM_TX; return 0; } @@ -462,7 +464,7 @@ mbedtls_ctx_write (tls_ctx_t * ctx, session_t * app_session) wrote = mbedtls_ssl_write (&mc->ssl, mm->tx_bufs[thread_index], deq_now); if (wrote <= 0) { - tls_add_vpp_q_builtin_tx_evt (app_session); + app_session->flags |= SESSION_F_CUSTOM_TX; return 0; } @@ -471,7 +473,7 @@ mbedtls_ctx_write (tls_ctx_t * ctx, session_t * app_session) tls_add_vpp_q_tx_evt (tls_session); if (deq_now < deq_max) - tls_add_vpp_q_builtin_tx_evt (app_session); + app_session->flags |= SESSION_F_CUSTOM_TX; return 0; } @@ -657,7 +659,7 @@ tls_mbedtls_init (vlib_main_t * vm) vec_validate (mm->rx_bufs, num_threads - 1); vec_validate (mm->tx_bufs, num_threads - 1); - tls_register_engine (&mbedtls_engine, TLS_ENGINE_MBEDTLS); + tls_register_engine (&mbedtls_engine, CRYPTO_ENGINE_MBEDTLS); return 0; }