You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2021/11/04 18:33:10 UTC
[incubator-nuttx] 03/04: net/tcp/Kconfig: Remove NET_TCP_SPLIT
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit ecd6a3572b21fee1d9a69e930ecbf10e12f79d05
Author: YAMAMOTO Takashi <ya...@midokura.com>
AuthorDate: Wed Oct 13 10:49:45 2021 +0900
net/tcp/Kconfig: Remove NET_TCP_SPLIT
While it's a neat idea, it doesn't work well in reality.
* Many of modern tcp stacks don't obey the "ack every other packet"
rule these days. (Linux, macOS, ...)
* Even if a traditional TCP implementation is assumed, we can't
predict/control which packets are acked reliably. For example,
window updates can easily mess up our strategy.
---
net/tcp/Kconfig | 28 ----------------------------
1 file changed, 28 deletions(-)
diff --git a/net/tcp/Kconfig b/net/tcp/Kconfig
index e53ee05..d41368b 100644
--- a/net/tcp/Kconfig
+++ b/net/tcp/Kconfig
@@ -203,34 +203,6 @@ config NET_TCPBACKLOG_CONNS
endif # NET_TCPBACKLOG
-config NET_TCP_SPLIT
- bool "Enable packet splitting"
- default n
- depends on !NET_TCP_WRITE_BUFFERS
- ---help---
- send() will not return until the transfer has been ACKed by the
- recipient. But under RFC 1122, the host need not ACK each packet
- immediately; the host may wait for 500 MS before ACKing. This
- combination can cause very slow performance with small transfers are
- made to an RFC 1122 client. However, the RFC 1122 must ACK at least
- every second (odd) packet.
-
- This option enables logic to trick the RFC 1122 host be exploiting
- this last RFC 1122 requirement: If an odd number of packets were to
- be sent, then send() will split the last even packet to guarantee
- that an even number of packets will be sent and the RFC 1122 host
- will ACK the final packet immediately.
-
-if NET_TCP_SPLIT
-
-config NET_TCP_SPLIT_SIZE
- int "Split size threshold"
- default 40
- ---help---
- Packets of this size or smaller than this will not be split.
-
-endif # NET_TCP_SPLIT
-
config NET_SENDFILE
bool "Optimized network sendfile()"
default n