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
Reviewed by:		cc, Peter Lei
Sponsored by:		Netflix, Inc.
Differential Revision:	https://reviews.freebsd.org/D49922

(cherry picked from commit 934caaec3afc43638c2a1da8fbe3b672566db4fe)
This commit is contained in:
Michael Tuexen 2025-05-01 18:11:03 +02:00 committed by Franco Fichtner
parent c765383ae0
commit 5a77dc8816

View File

@ -2774,9 +2774,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;