HomeFreeBSD

tcp: prevent spurious empty segments and fix uncommon panic

Description

tcp: prevent spurious empty segments and fix uncommon panic

Only try sending more data on pure ACKs when there is
more data available in the send buffer.

In the case of a retransmitted SYN not being sent due to
an internal error, the snd_una/snd_nxt accounting could
be off, leading to a panic. Pulling snd_nxt up to snd_una
prevents this from happening.

Reported by: fengdreamer@126.com
Reviewed by: cc, tuexen, transport
MFC after: 1 week
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D43343

(cherry picked from commit f4574e2dc5a4719379496338257526aba484751b)

Details

Provenance
rscheffAuthored on Jan 8 2024, 8:25 AM
Reviewer
transport
Differential Revision
D43343: tcp: prevent spurious empty segments and fix uncommon panic
Parents
rG79e7fef944f7: fix using man(1) with multiple pages
Branches
Unknown
Tags
Unknown