From 929956d771c7b5c21528de131e7b4b1b2231cbe2 Mon Sep 17 00:00:00 2001 From: yangyanjun Date: Wed, 31 Jul 2024 14:34:39 +0800 Subject: [PATCH] [nata-urc] fixed tcp data packets did not fast retransmission. (20% packet loss and 2s RTT delay) Signed-off-by: yangyanjun --- include/net/inet_connection_sock.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/include/net/inet_connection_sock.h b/include/net/inet_connection_sock.h index 8e54b58fb09c..9c8e259cf27c 100644 --- a/include/net/inet_connection_sock.h +++ b/include/net/inet_connection_sock.h @@ -231,9 +231,19 @@ static inline unsigned long get_nata_rto(struct sock *sk, unsigned long when_nata; unsigned long shift; - if (!icsk->nata_retries_enabled || what != ICSK_TIME_RETRANS) + if (!icsk->nata_retries_enabled) return when; + switch (what) { + case ICSK_TIME_RETRANS: + case ICSK_TIME_EARLY_RETRANS: + case ICSK_TIME_LOSS_PROBE: + case ICSK_TIME_REO_TIMEOUT: + break; + default: + return when; + } + if (icsk->nata_retries_type == NATA_STL) return sk->sk_state == TCP_SYN_SENT ? icsk->nata_syn_rto : icsk->nata_data_rto; -- Gitee