diff options
| author | Richard Scheffenegger <rscheff@FreeBSD.org> | 2025-09-04 22:23:14 +0000 |
|---|---|---|
| committer | Richard Scheffenegger <rscheff@FreeBSD.org> | 2025-09-04 22:23:52 +0000 |
| commit | 3aa0a0aaa23b95dbf0ef58b16b313637f515b460 (patch) | |
| tree | d8beb65e565a62499b5ee330d91ccb94f202e46b /sys/netinet | |
| parent | 641f525a87c9a32635ce51a102ebb5c0aa9ff921 (diff) | |
Diffstat (limited to 'sys/netinet')
| -rw-r--r-- | sys/netinet/tcp_sack.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/sys/netinet/tcp_sack.c b/sys/netinet/tcp_sack.c index b6c55fac50b3..6e08ad2796a8 100644 --- a/sys/netinet/tcp_sack.c +++ b/sys/netinet/tcp_sack.c @@ -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; |
