zylog at club-internet.fr
Wed Jul 21 20:39:42 UTC 2004
Last day, I talked to you about a problem with TCP stack.
I didn't succeed to solve this.
At present, my board has 1Mo of SRAM :
256 Ko for RTEMS executive,
512 Ko for heap,
default mbuf and cluster capacity.
All protocol works properly, except TCP/IP.
I can send many large packets with ICMP request;
I can send and receive packets over UDP.
With TCP, all writes followed by a read socket work properly.
However, a lot of write ( ex : for(i=0; i< 1000; i++) write(fd, buffer,
send a few data only : each next write returns well 'n' bytes but doesn't
over ethernet driver.
Write function _doesn't return error_ .
In same case, but with UDP socket, this works properly.
I have some questions ;-) :
Why the write function never returns an error ?
For example, I modify the program loopback for making
many writes without read : at some point, all mbufs are used.
But no error from write function ?
How to reduce used TCP memory , even if performs
are decreasing ?
Where can I modify the window size ?
Also, I note a different effect depending to host ( Linux or Winxx ).
I work with bsp based upon mcf5206elite and rtems-4.6.1.
Thanks a lot.
More information about the users