hakda@erilin.nokia.se (H}kan Danielsson) (09/22/88)
We have a propriety system (not UNIX) which we intend to connect with an Ethernet LAN. For this purpose we have installed following hardware and software from Exelan Inc: EXOS 202 Ethernet Front End processor for VMEbus systems with firmware version 5.3. EXOS 8010 Protocol Module, version 3.2. The host code is not ported, because we don't have a C-compiler. Instead we have tried to follow the documentation. When we use the system with heavy load it fails. We have isolated following strange situation: 2 computers (nodes) are connected. In each node 2 processes are connected via sockets to processes in the other node: --------- --------- ! A --!-------------------!-- B ! ! ! ! ! ! C --!-------------------!-- D ! --------- --------- Each process executes the following sequence (according to the EXOS 8010 documentation: SOSOCKET SOCONNECT/SOACCEPT SOSEND SOSEND : : until reply code EWOULDBLOCK is returned. SOSELECT which means that all processes are sending data until the Ethernet board buffers are filled. Suddenly after a few minutes one or several of the processes gets a signal (SOSELWAKEUP) indicating that the Ethernet board is ready to accept another block. The process then enters the following loop: -------> SOSEND gets reply code EWOULDBLOCK, indicating that all buffers ! are occupied. ! SOSELECT gets a reply indicating that the board is ready to accept ! ! a block. ------------ This loop suddenly is exited with the indication of a correct SOSEND. I don't know who has emptied the buffer. Has anybody had the same or a similar problem? Have we missed some parameter when we use the Ethernet board or do we have an old software version? Please reply with email.