[comp.dcom.lans] Exelan question

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.