Sysctl knob(s) to set TCP 'nagle' time-out?

Jerahmy Pocott quakenet1 at optusnet.com.au
Mon Jun 23 07:25:57 UTC 2008


Hi,

I'm wondering if anything exists to set this.. When you create an INET  
socket
without the 'TCP_NODELAY' flag the network layer does 'naggling' on your
transmitted data. Sometimes with hosts that use Delayed_ACK  
(net.inet.tcp.
delayed_ack) it creates a dead-lock where the host will not ACK until  
it gets
another packet and the client will not send another packet until it  
gets an ACK..

The dead-lock gets broken by a time-out, which I think is around 200ms?

But I would like to change that time-out if possible to something  
lower, yet
I can't really see any sysctl knobs that have a name that suggests  
they do
that..

So does anyone know IF this can be tuned and if so by what?

Cheers,
Jerahmy.

(And yes you could solve it by setting the TCP_NODELAY flag on the  
socket,
but not everything has programmed in options to set it and you don't  
always
have access to the source, besides setting a sysctl value would be much
simpler than recompiling stuff)


More information about the freebsd-stable mailing list