ABOUT tcp_retrans_collapse
This variable implements a bug in the TCP protocol so it will be able to talk to certain other buggy TCP stacks. Without implementing this bug in the TCP stack, we would be unable to talk to certain printers that has this bug built in. This bug makes the TCP stack try to send bigger packets on retransmission of packets to work around bugs in those printers and other hardware implementations. This variable takes a boolean value and is normally set to 1, or on. Implementing this bug workaround will not break compatibility from our host to others, but it will make it possible to speak to those printers. In general, it should not be a dangerous workaround, but you may turn it off if you receive weird error messages.
TYPICAL SHELL SESSIONS RELATED
[bash]
$cat /proc/sys/net/ipv4/tcp_retrans_collapse
1
$
[/bash]
[bash]
$pwd
/home/jeffrin/linux-4.15.4
$grep -r "tcp_retrans_collapse" *
Documentation/networking/ip-sysctl.txt:tcp_retrans_collapse – BOOLEAN
include/net/netns/ipv4.h: int sysctl_tcp_retrans_collapse;
kernel/sysctl_binary.c: { CTL_INT, NET_IPV4_TCP_RETRANS_COLLAPSE, "tcp_retrans_collapse" },
net/ipv4/tcp_ipv4.c: net->ipv4.sysctl_tcp_retrans_collapse = 1;
net/ipv4/sysctl_net_ipv4.c: .procname = "tcp_retrans_collapse",
net/ipv4/sysctl_net_ipv4.c: .data = &init_net.ipv4.sysctl_tcp_retrans_collapse,
net/ipv4/tcp_output.c: if (!sock_net(sk)->ipv4.sysctl_tcp_retrans_collapse)
$
[/bash]
tcp_retrans_collapse - BOOLEAN Bug-to-bug compatibility with some broken printers. On retransmit try to send bigger packets to work around bugs in certain TCP stacks.
TCP smart Framing, or TCP-SF for short, enables the Fast Retransmit/Recovery algorithms even when the congestion window is small. Without modifying the TCP congestion control based on the additive-increase/multiplicative-decrease paradigm, TCP-SF adopts a novel segmentation algorithm: while Classic TCP always tries to send full-sized segments, a TCP-SF source adopts a more flexible s segmentation algorithm to try and always have a number of in flight s segments larger than 3 so as to enable Fast Recovery. We motivate this choice by real traffic c measurements, which indicate that today's traffic is is populated by short-li flows, whose only means to recover from a packet loss is by triggering a Retransmission Timeout. The key idea of TCP-SF can be implemented on top of any TCP flavor, , from Tahoe to SACK, and requires modifications s to the server TCP stack only, and can be easily coupled with recent TCP enhancements. The performance of the proposed TCP modification were studied by means of simulations, live measurements and an analytical model. In addition, the analytical model we have devised has a general scope, making it a valid tool for TCP performance evaluation in the small window region. Improvements are remark- able under several buffer management schemes, and maximized by byte-oriented schemes. SOURCE: TCP Smart Framing: A Segmentation Algorithm to Reduce TCP Latency Marco Mellia, Member, IEEE, Michela Meo, Member, IEEE, and Claudio Casetti
LINKS
https://www.frozentux.net/ipsysctl-tutorial/chunkyhtml/tcpvariables.html
https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt