TCP loopback socket fusing

Ian FREISLICH ianf at clue.co.za
Tue Sep 14 10:52:41 UTC 2010


Fabien Thomas wrote:
> Great,
> 
> This will maybe kill the long time debate about "my loopback is slow vs
> linux"
> To have the best of both world what about a socket option to
> enable/disable fusing:
> can be useful when you need to see some connection "packetized".

To chime in, I had a "slow" loopback issue earlier this week.  It
turned out the problem was caused by delayed ack on the loopback
where the client didn't need to transmit any data to the server.
It delayed each packet from the server by 100ms.  After patching
the server to:

setsockopt(desc->accept_fd, IPPROTO_TCP, TCP_NODELAY, &x, sizeof(x));

It's now faster than on linux.

Perhaps this is one of the causes of "my loopback is slow vs linux".

FWIW, I couldn't find a way to turn off dealyed_ack on just loopback
interface.

Ian

-- 
Ian Freislich


More information about the freebsd-net mailing list