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