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.