Need help with a problem:
 
The Unit Under Test (UUT) has Redhat's embedded Linux kernel (based on Linux/PPC kernel 2.2.13),
from the Redhat EDK 1.0, running on an embedded PowerPC processor with 8M of RAM, and is connected
to a LAN.
 
A TCP Client on a PC, also connected to the LAN, connects to a TCP Server on the UUT once every
5 secs. After about 6 minutes, the Client is unable to connect to the UUT's Server any more,
although a UDP Server on the UUT continues to receive UDP pkts forever.
 
This is very repeatable, and occurs after the 6 minute time period regardless of the frequency of
connects(), 1/s or 1/5s or 1/20s.  If I pause the Client from connecting just before the 6 minute
time period connect() failure is to occur, and wait at least 1 minute (can't be less), and then allow
the Client to continue connecting, then the Client is able to connect for another 6 minutes before
the connect() failure occurs.  If I only pause for 20 secs instead of the full minute, then the
Client connects for the remaining connects as usual, and fails to connect.
 
I feel that I have eliminated the TIME-WAIT state problem associated with closing sockets as the
problem by making sure the Client closes the connection first and also by setting the TIME-WAIT
period to a very short time.
 
For test purposes, I put the TCP Server in the main(), and it is a barebones minimum:
 
- socket()
- bind()
- listen()
- accept()
- close()
 
I appreciate any suggestions or help regarding this problem.
 
Thanks,
 
ShutEye Thinkin

Reply via email to