tcp: add gone_in note for net.inet.tcp.sack.revised for fbsd16
Depricate the support for the old RFC3517 behavior of SACK loss recovery, and simplfy the code to always adhere to RFC6675. Reviewed By: tuexen, cc, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D52383
This commit is contained in:
@@ -31,7 +31,7 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.Dd June 27, 2025
|
||||
.Dd September 5, 2025
|
||||
.Dt TCP 4
|
||||
.Os
|
||||
.Sh NAME
|
||||
@@ -940,9 +940,6 @@ maximum segment size.
|
||||
This helps throughput in general, but
|
||||
particularly affects short transfers and high-bandwidth large
|
||||
propagation-delay connections.
|
||||
.It Va rfc6675_pipe
|
||||
Deprecated and superseded by
|
||||
.Va sack.revised
|
||||
.It Va sack.enable
|
||||
Enable support for RFC 2018, TCP Selective Acknowledgment option,
|
||||
which allows the receiver to inform the sender about all successfully
|
||||
@@ -974,6 +971,11 @@ recovery, the trailing segment is immediately resent, rather than waiting
|
||||
for a Retransmission timeout.
|
||||
Finally, SACK loss recovery is also engaged, once two segments plus one byte are
|
||||
SACKed - even if no traditional duplicate ACKs were observed.
|
||||
.Va sack.revised
|
||||
is deprecated and will be removed in
|
||||
.Fx 16 .
|
||||
.Va sack.enable
|
||||
will always follow RFC6675.
|
||||
.It Va sendbuf_auto
|
||||
Enable automatic send buffer sizing.
|
||||
.It Va sendbuf_auto_lowat
|
||||
|
||||
+19
-2
@@ -128,8 +128,25 @@ SYSCTL_INT(_net_inet_tcp_sack, OID_AUTO, enable, CTLFLAG_VNET | CTLFLAG_RW,
|
||||
"Enable/Disable TCP SACK support");
|
||||
|
||||
VNET_DEFINE(int, tcp_do_newsack) = 1;
|
||||
SYSCTL_INT(_net_inet_tcp_sack, OID_AUTO, revised, CTLFLAG_VNET | CTLFLAG_RW,
|
||||
&VNET_NAME(tcp_do_newsack), 0,
|
||||
|
||||
static int
|
||||
sysctl_net_inet_tcp_sack_revised(SYSCTL_HANDLER_ARGS)
|
||||
{
|
||||
int error;
|
||||
int new;
|
||||
|
||||
new = V_tcp_do_newsack;
|
||||
error = sysctl_handle_int(oidp, &new, 0, req);
|
||||
if (error == 0 && req->newptr) {
|
||||
V_tcp_do_newsack = new;
|
||||
gone_in(16, "net.inet.tcp.sack.revised will be deprecated."
|
||||
" net.inet.tcp.sack.enable will always follow RFC6675 SACK.\n");
|
||||
}
|
||||
return (error);
|
||||
}
|
||||
|
||||
SYSCTL_PROC(_net_inet_tcp_sack, OID_AUTO, revised, CTLFLAG_VNET | CTLFLAG_RW | CTLTYPE_INT,
|
||||
&VNET_NAME(tcp_do_newsack), 0, sysctl_net_inet_tcp_sack_revised, "CU",
|
||||
"Use revised SACK loss recovery per RFC 6675");
|
||||
|
||||
VNET_DEFINE(int, tcp_do_lrd) = 1;
|
||||
|
||||
Reference in New Issue
Block a user