Sun Microsystems SunHSI/S 3.0 Installation And Administration Manual page 91

Table of Contents

Advertisement

Packet Transmission and Reception
When an upper-protocol layer or a user program has a packet ready for transmission
by the interface, it calls either the putnext(9F) utility or the putmsg(2) system
call to pass the packet to the SunHSI/S driver. If the SunHSI/S driver transmission
buffer is empty, the hih_wput routine of the driver copies the packet into the RAM
buffer on the SunHSI/S adapter. From there, the packet is transmitted across the
serial line. If the transmit buffer is full, the packet is queued at the local WRITE
queue for later transmission by the hih_wsrv routine.
If the local WRITE queue has too many packets (beyond the high-water mark), the
upper layers will detect the congestion by calling canputnext and slowing down
the traffic until the congestion is resolved.
When a correct packet is received, it is copied from the SunHSI/S board RAM to a
stream message buffer. When a complete packet is received, the hih_rsrv routine
of the driver is called to send the packet to upper layers.
The Z16C35 ISCC support an internal status FIFO of approximately ten packets. As
a result, it is possible to queue many packets during reception without servicing an
interrupt. Since most synchronous protocols require relatively fast reception of
control packets, it is detrimental to queue up packets at the driver level for long
periods. To alleviate this possible problem, an algorithm based on the receive queue
size and a timer is used. Either event causes the packets to be sent to the upper level.
Appendix E
Software Functional Description
75

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the SunHSI/S 3.0 and is the answer not in the manual?

Table of Contents