How to set TCP parameter?

Michael Powell nightrecon at verizon.net
Wed Aug 20 19:42:00 UTC 2008


Patrick Mahan wrote:

[snip]
> 
> There is no TCP variable in the FreeBSD implementation to change this
> (that I know of).

There is this: net.inet.tcp.finwait2_timeout: 60000
 
> I have seen this happen at times when there is a buggy NAT firewall
> between you and the
> server that causes the FIN from the server to get dropped.  If you have
> control of both sides, you can do packet traces using tcpdump to see if
> the FIN from the server is ever sent or
> receive.  It is possible that your client is dropping the packet itself.
> 
[snip]

IMHO I do not think that manipulating this value via the sysctl is the
proper response to the problem. I concur with Patrick's concept that the
correct thing to do is locate or eliminate any potential networking problem
which may be the cause. 

If the network path is not actually causing the problem by dropping or
mismanaging packets and this is an Apache web server we're talking about I
do seem to recall something in the Apache docs about this. 

http://httpd.apache.org/docs/2.2/misc/perf-tuning.html

See the "Lingering Close" section for some historical background, but please
note this information is somewhat dated and may not actually be pertinent.

In any case, what I do first with a problem like this is fire up Wireshark
and/or tcpdump and examine the packets. Many times it is a source of clue
as to what to look at next. Just my $.02 here...

-Mike




More information about the freebsd-questions mailing list