From 783d3adfdb0a074ae7a6e0dd37fe8efaf7e2b39a Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Sun, 3 Apr 2022 12:01:20 +0200 Subject: lib: Fix RTO update on timeout This fixes the RTO doubling on timeout according to Karn/Partridge. Exponentially increasing RTO when it times out (e.g. doubling) fixes the problem that a sudden increase in real RTT starves the sRTT updates by never getting out of backoff as retransmitted packets can't update RTT. Added an parameter to make it less aggressive, default is doubling. Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- src/lib/config.h.in | 1 + 1 file changed, 1 insertion(+) (limited to 'src/lib/config.h.in') diff --git a/src/lib/config.h.in b/src/lib/config.h.in index e413a0c9..fd54dcd8 100644 --- a/src/lib/config.h.in +++ b/src/lib/config.h.in @@ -76,6 +76,7 @@ #define RQ_SIZE (@FRCT_REORDER_QUEUE_SIZE@) #define START_WINDOW (@FRCT_START_WINDOW@) #define RTO_MIN (@FRCT_RTO_MIN@ * 1000) +#define RTO_DIV (@FRCT_RTO_INC_FACTOR@) #define MDEV_MUL (@FRCT_RTO_MDEV_MULTIPLIER@) #define TICTIME (@FRCT_TICK_TIME@ * 1000) /* ns */ -- cgit v1.2.3