Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 May 2025 21:58:20 GMT
From:      Michael Tuexen <tuexen@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 976aa65e3ea4 - releng/14.3 - tcp: improve KASSERT in limited retransmit
Message-ID:  <202505062158.546LwK9E024368@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch releng/14.3 has been updated by tuexen:

URL: https://cgit.FreeBSD.org/src/commit/?id=976aa65e3ea48f8864149dcbfc6f912a7ca2b67a

commit 976aa65e3ea48f8864149dcbfc6f912a7ca2b67a
Author:     Michael Tuexen <tuexen@FreeBSD.org>
AuthorDate: 2025-05-01 16:11:03 +0000
Commit:     Michael Tuexen <tuexen@FreeBSD.org>
CommitDate: 2025-05-06 19:18:24 +0000

    tcp: improve KASSERT in limited retransmit
    
    When doing a limited retransmit, allow up to 2 * MSS - 1 if the
    Nagle algorithm has been disabled.
    
    PR:                     282605
    Approved by:            re (cperciva)
    Reviewed by:            cc, Peter Lei
    Sponsored by:           Netflix, Inc.
    Differential Revision:  https://reviews.freebsd.org/D49922
    
    (cherry picked from commit 934caaec3afc43638c2a1da8fbe3b672566db4fe)
    (cherry picked from commit 0906658c3409996b26518e67df48c01052ef934c)
---
 sys/netinet/tcp_input.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
index bd491a116fff..b4c77c303df7 100644
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -2794,9 +2794,11 @@ enter_recovery:
 						KASSERT((tp->t_dupacks == 2 &&
 						    tp->snd_limited == 0) ||
 						   (sent == maxseg + 1 &&
-						    tp->t_flags & TF_SENTFIN),
-						    ("%s: sent too much",
-						    __func__));
+						    tp->t_flags & TF_SENTFIN) ||
+						   (sent < 2 * maxseg &&
+						    tp->t_flags & TF_NODELAY),
+						    ("%s: sent too much: %u>%u",
+						    __func__, sent, maxseg));
 						tp->snd_limited = 2;
 					} else if (sent > 0)
 						++tp->snd_limited;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202505062158.546LwK9E024368>