HP-UX TCP/IP Performance White Paper, March 2008

70
According to the TCP protocol specification, the remote TCP
should flush its receive queue when it receives the RESET. This
may cause data to be lost.
[0-2147483647 Milliseconds] Default: 0 (indefinite)
The tcp_fin_wait_2_timeout parameter controls a timer that can be used to terminate connections in
the FIN_WAIT_2 state. This should only be used in those cases where the
tcp_keepalive_detached_interval mechanism is known to not work. This is almost always the
result of something like a broken firewall somewhere in the network. Such broken components should be
fixed. If, and only if that is not possible, setting tcp_fin_wait_2_timeout can be used as a
workaround until the broken components can be fixed.
The default value of 0 means that no additional timer is started. A value of > 0 will cause a timer of
tcp_fin_wait_2_timeout milliseconds to be started once the connection enters the FIN_WAIT_2 state.
This timer will only be activated for the FIN_WAIT_2 state. Other states are covered either by an
application setting SO_KEEPALIVE and the tcp_keepalive_interval, or by the TCP retransmission
parameters. The timer is only active on connections that go to FIN_WAIT_2 after the ndd command has
been run. Any connection that is already in the FIN_WAIT_2 state will not be affected.
tcp_frto_enable:
Allows the use of the Forward RTO Recovery (F-RTO) algorithm.
This attempts to detect when a spurious RTO timeout has occurred
and avoids unnecessary retransmissions from the TCP sender.
Supported parameter values are:
0: Local system never uses F-RTO.
1: Local system uses F-RTO detection and F-RTO response algorithm.
2: Local system uses F-RTO detection algorithm and a response
algorithm based on Congestion Window Validation.
[0-2] Default: 0
Refer to section 4.3.2 for the F-RTO discussion in the wireless networks environment.
tcp_ip_abort_cinterval:
Second threshold timer during connection establishment.
When it must retransmit the SYN packet because a timer has
expired, TCP first compares the total time it has waited
against two thresholds, as described in RFC 1122, 4.2.3.5.
If it has waited longer than the second threshold, TCP
terminates the connection. In other words, this is how long
TCP will wait before failing a call to connect(). Setting this
parameter too low will cause false connection failures.
[1000,-] Default: 75000 (75 seconds)
This value is used when we will be passively accept()ing the connection. In this case, the "SYN" in
question is the SYN|ACK we sent in response to the remote's SYN segment. However, unlike the active
connect case, the passive accepting application will not see length of time in system calls change when this
value is changed.
This is the second of two timer thresholds for embryonic connections. The other is
tcp_ip_notify_cinterval.