[En-Nut-Discussion] TCP stops working after some time

Bernd Walter ticso at cicely12.cicely.de
Wed Dec 8 17:04:55 CET 2004


On Wed, Dec 08, 2004 at 11:19:13AM +0100, Harald Kipp wrote:
> Hello Bernd,
> 
> At 22:54 27.11.2004 +0100, you wrote:
> >I have an application using 3.9-1 that does a lot of connects and
> >disconnects.
> >After some time the Boards doesn't respond to TCP Packets anymore,
> >but I can still ping it.
> 
> We've set up a simple test case using a TCP server
> on the Ethernut and a client on a W2K PC. The
> client connects the Ethernut server, one segment
> is exchanged in both direction and then the
> client disconnects, sleeps for 10 seconds and
> repeats the procedure.

I havn't investigated this any more right now, since it works with
the longer idle timeout now I had higher prio things to do.
The test was done with an endless looped shell script calling the
client continously.
Each call of the client opened a new connect and tried to issue
multiple non interleaved trasnactions.
Acording to tcpdump the server disconnected the client sooner as
the read timeout defined in some cases and forced the client to
reconnect for the remaining requests.
TCP_NODELAY was set on the client socket.

It might be required to reconnect faster then every 10 seconds,
or it may be required to fall into read timeout, maybe read timeout
combined with receiving the next request.

> The test is running for nearly one week now with
> more than 50,000 connects and no problem so far.
> Ethernut is still responding to TCP connects.

I think the test might have issued around 10 connects per second
and it took in average 30 minutes to trigger the problem.

> One minor difference: We are using 3.9.2, but
> I can't remember any relevant fix since 3.9.1.

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd at bwct.de                                  info at bwct.de




More information about the En-Nut-Discussion mailing list