tls svm: prealloc tcp fifo chunks before ssl write

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I7c47b55ec6f0c83f2d13e0e737d0559a32f7c837
This commit is contained in:
Florin Coras
2021-05-19 19:28:40 -07:00
committed by Damjan Marion
parent 05bc33c15d
commit e3c6a54995
3 changed files with 13 additions and 1 deletions

View File

@ -382,6 +382,13 @@ openssl_ctx_write_tls (tls_ctx_t *ctx, session_t *app_session,
deq_max = clib_min (deq_max, sp->max_burst_size);
/* Make sure tcp's tx fifo can actually buffer all bytes to be dequeued.
* If under memory pressure, tls's fifo segment might not be able to
* allocate the chunks needed. This also avoids errors from the underlying
* custom bio to the ssl infra which at times can get stuck. */
if (svm_fifo_provision_chunks (ts->tx_fifo, 0, 0, deq_max + TLSO_CTRL_BYTES))
goto check_tls_fifo;
wrote = openssl_write_from_fifo_into_ssl (f, oc->ssl, deq_max);
if (!wrote)
goto check_tls_fifo;