From owner-freebsd-stable@FreeBSD.ORG Mon Jun 23 07:25:57 2008 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A31FA1065670 for ; Mon, 23 Jun 2008 07:25:57 +0000 (UTC) (envelope-from quakenet1@optusnet.com.au) Received: from mail06.syd.optusnet.com.au (mail06.syd.optusnet.com.au [211.29.132.187]) by mx1.freebsd.org (Postfix) with ESMTP id 2CAE98FC12 for ; Mon, 23 Jun 2008 07:25:56 +0000 (UTC) (envelope-from quakenet1@optusnet.com.au) Received: from [10.0.2.3] (c122-106-190-227.belrs3.nsw.optusnet.com.au [122.106.190.227]) by mail06.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id m5N7PrnT001543 for ; Mon, 23 Jun 2008 17:25:54 +1000 Message-Id: <0222EAC1-A278-41D2-9566-C9CF19811068@optusnet.com.au> From: Jerahmy Pocott To: freebsd-stable@freebsd.org Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v924) Date: Mon, 23 Jun 2008 17:25:49 +1000 X-Mailer: Apple Mail (2.924) Subject: Sysctl knob(s) to set TCP 'nagle' time-out? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jun 2008 07:25:57 -0000 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)