From cfa932f6fc683dc94a884e69712d0cf38e7b5ce4 Mon Sep 17 00:00:00 2001 From: Victor Boivie Date: Mon, 17 May 2021 17:25:23 +0200 Subject: [PATCH] dcsctp: Bump rto_min to 220 ms The minimum RTO time shouldn't be lower than the delayed ack timeout of the peer to avoid sending retransmissions before the peer has actually intended to reply. In usrsctp, the default delayed ack timeout is 200ms and configurable using the `sctp_delayed_sack_time_default` option. In dcsctp, it's min(RTO/2, 200ms), to avoid this issue. Bug: webrtc:12614 Change-Id: Ie84c331334af660d66b1a7d90d20f5cf7e2a5103 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219100 Reviewed-by: Florent Castelli Commit-Queue: Victor Boivie Cr-Commit-Position: refs/heads/master@{#34026} --- net/dcsctp/public/dcsctp_options.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/net/dcsctp/public/dcsctp_options.h b/net/dcsctp/public/dcsctp_options.h index 08893fda29..4f5b50cf53 100644 --- a/net/dcsctp/public/dcsctp_options.h +++ b/net/dcsctp/public/dcsctp_options.h @@ -95,8 +95,9 @@ struct DcSctpOptions { // Maximum RTO value. DurationMs rto_max = DurationMs(800); - // Minimum RTO value. - DurationMs rto_min = DurationMs(120); + // Minimum RTO value. This must be larger than an expected peer delayed ack + // timeout. + DurationMs rto_min = DurationMs(220); // T1-init timeout. DurationMs t1_init_timeout = DurationMs(1000);