From 3e157100b57237cc694ae3d002cf736b36043c3c Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Fri, 4 Feb 2022 13:31:25 -0800 Subject: session: track bytes dequeued in snd params Also reset send params flags before calling transports to avoid explicit resets in all transports. Type: improvement Signed-off-by: Florin Coras Change-Id: I1da7b3fab009728e7fee4199425ced933fa8a122 --- src/plugins/srtp/srtp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/plugins/srtp') diff --git a/src/plugins/srtp/srtp.c b/src/plugins/srtp/srtp.c index 62274ba635e..cc4b59de569 100644 --- a/src/plugins/srtp/srtp.c +++ b/src/plugins/srtp/srtp.c @@ -238,6 +238,7 @@ srtp_ctx_write (srtp_tc_t *ctx, session_t *app_session, us = session_get_from_handle (ctx->srtp_session_handle); to_deq = svm_fifo_max_dequeue_cons (app_session->tx_fifo); mq = session_main_get_vpp_event_queue (us->thread_index); + sp->bytes_dequeued = to_deq; while (to_deq > 0) { @@ -296,6 +297,9 @@ done: session_transport_closed_notify (&ctx->connection); } + ASSERT (sp->bytes_dequeued >= to_deq); + sp->bytes_dequeued -= to_deq; + return n_wrote > 0 ? clib_max (n_wrote / TRANSPORT_PACER_MIN_MSS, 1) : 0; } @@ -812,7 +816,6 @@ srtp_custom_tx_callback (void *session, transport_send_params_t *sp) SESSION_STATE_TRANSPORT_CLOSED)) return 0; - sp->flags = 0; ctx = srtp_ctx_get_w_thread (app_session->connection_index, app_session->thread_index); if (PREDICT_FALSE (ctx->is_migrated)) -- cgit 1.2.3-korg