lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <FC9BF302-0724-49F3-AD7C-6761D65024A1@Easton24.com>
Date: Sun, 9 Mar 2025 20:20:14 -0500
From: Andrew Easton <Andrew@...ton24.com>
To: "David S. Miller" <davem@...emloft.net>,
 "David S. Ahern" <dsahern@...nel.org>,
 Eric Dumazet <edumazet@...gle.com>,
 Jakub Kicinski <kuba@...nel.org>,
 Paolo Abeni <pabeni@...hat.com>
Cc: Simon Horman <horms@...nel.org>,
 "Linux Kernel Mailing List, Network Subsystem" <netdev@...r.kernel.org>,
 "Linux Kernel Mailing List, Sysctl API ABI" <linux-api@...r.kernel.org>
Subject: Add sysctl for tcp_delayed_ack

Subject: Add sysctl for tcp_delayed_ack

Hi everyone, 

this is a proposed patch for adding a sysctl for
disabling TCP delayed ACK (IETF RFC 1122)  without
having to patch software to constantly poke sockets
with TCP_QUICKACK which apparently resets on
subsequent operations, see tcp(7).

For my personal computer networks experimenting with
globally disabling TCP delayed ACK across two other
operating systems seems to have considerably improved
congestion control.  (While I propose only anecdotal
evidence, there is more to it.  Am open to the
ensuing technical discussion, but only if that turns
out to be a good use of other people's time.)

This is my first proposed kernel patch and it is
likely missing a whole bunch of details.  For
example:

1. Where is the TCP ACK delay computed for IPv6?
Could not identify this in file net/ipv6/tcp_ipv6.c .

2. Perhaps, adding kernel configuration options for
the ncurses interface is desireable.  What is a good
example to learn from?

3. Perhaps, setting constants in file
include/uapi/linux/sysctl.h may be unnecessary, but I
have not found any guidelines on when these CTL
numbers are necessary.  Likely, because I did not
read the documentation carefully enough.  Any
pointers are appreciated.

4. The default should probably be a value like
net.ipv4.tcp_delayed_ack=1 that preserves the current
behavior and hence is backwards compatible for user
space.  A value of net.ipv4.tcp_delayed_ack=0 should
globally (for IPv4) disable TCP delayed ACK.  Would
also like to add the option for IPv6, but see point
(1).


In case a similar sysctl has already been proposed
and rejected in the past, please point me to the
mailing list archives, if that is not too
inconvenient.


Which questions have I failed to ask that I should
have asked?

Errors and lack of research are on me.

Thank you for sharing your time.

Andrew




Download attachment "0001-Add-sysctl-net.ipv4.tcp_delayed_ack-for-disabling-TC.patch" of type "application/octet-stream" (6506 bytes)




Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ