HomeFreeBSD

tcp: fix the initial CWND when a SYN retransmission happened

Description

tcp: fix the initial CWND when a SYN retransmission happened

According to RFC 3390 the CWND should be set to one MSS if the
SYN or SYN-ACK has been retransmitted. This is handled in the
code by setting CWND to 1 and cc_conn_init() translates this
to MSS. Unfortunately, cc_cong_signal() was overwriting the
special value of 1 in case of a lost SYN, and therefore the
initial CWND was not as it was supposed to be.
Fix this by not overwriting the special value of 1.

Reviewed by: cc, rscheff
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D47439

(cherry picked from commit 625835c8b5e897e54a1a023788a3a9c3b16631c9)

Details

Provenance
tuexenAuthored on Nov 5 2024, 8:52 AM
Reviewer
cc
Differential Revision
D47439: tcp: consistently set CWND to MSS in case of SYN/SYN ACK retransmissions
Parents
rG83c799af92eb: Revert "oce(4): deprecate"
Branches
Unknown
Tags
Unknown