[ECOS] Not responding to TCP SYN

Jay Foster jay.foster@systech.com
Thu Dec 11 23:15:00 GMT 2003


Sounds like you probabaly have exhausted your supply of sockets (they're all
in the FIN_WAIT state).  You can try increasing the number of sockets.

Jay

-----Original Message-----
From: Lars Haugaard Kristensen [mailto:larsk@cs.auc.dk]
Sent: Thursday, December 11, 2003 12:59 PM
To: ecos-discuss@sources.redhat.com
Subject: [ECOS] Not responding to TCP SYN


Hi list!

I've been working with eCos for a month or so, and I really like it so
far. Unfortunately, I'm having problems with TCP connections. I use eCos
from cvs (checkout from december 2nd). I have the same problem in both of
the following setups:

1) Linux synthetic target, FreeBSD TCP/IP stack
2) I386 PC target, I82559 NIC, OpenBSD TCP/IP stack

I run the server_test.c test (not modified) on the target machine. On the
client (a linux 2.4 machine) I run the following:

$ while true; do echo a | netcat target 7734; done

It works fine. The server sends a message like "Hello 10.0.0.2:31234",
reads "a\n", and closes the connection. However, after some number of
iterations the server stops responding. Then, after a while, it starts
responding again.

This has been tested in both setups. I have used tcpdump to try to figure
out what goes wrong. I've attached a trace file. I used the synthetic
target (10.0.0.3) and a linux host (10.0.0.2) when doing this trace. It
seems that after 15 succesfull connections, the target does not respond to
the 16th SYN packet. The client retries with an increasing delay, until it
finally gets a SYN ACK reply.

When running on i386 and using the OpenBSD stack I can connect 62 times
before it stops responding. Otherwise, the behaviour is the same. I tried
increasing the CYGPKG_NET_MEM_USAGE option with no effect.

The target seems to still respond to icmp echo and arp requests while it
refuses to answer TCP SYN.

I have the same problem with my own applications. I have been unable to
make this work smoothly in any configuration.

Any suggestions to what is wrong? Could this be an eCos bug, or am I doing
something stupid? :)

Lars Kristensen

-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss



More information about the Ecos-discuss mailing list