TCP loopback socket fusing

Andre Oppermann oppermann at networx.ch
Tue Sep 14 16:05:12 UTC 2010


On 14.09.2010 12:12, Ian FREISLICH wrote:
> 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.

Good point.  You can't at the moment but it certainly makes a lot
of sense.  Let me see what I can come up with.

-- 
Andre


More information about the freebsd-net mailing list