Sun Microsystems STP2002QFP Network Router User Manual


 
38
STP2002QFP
Sun Microelectronics
Fast Ethernet, Parallel Port, SCSI (FEPS) - STP2002QFP
and gets ready to receive the next frame. This way the FIFO locations that
were occupied by the long fragment are reused by the next frame.
If an abort condition is detected after at least 128 bytes of data were trans-
ferred from the RX_MAC to the RxFIFO (very long fragment, CRC error,
code error on the media, etc.), the load control state machine sets the abort bit
in the status word that is appended to the frame and gets ready to receive the
next frame. When the aborted frame is unloaded from the RxFIFO, the unload
control state machine detects the abort bit in the status word and reuses the
current descriptor (host data buffer) for the next frame.
This error condition is not reported to the software, but the events causing
it have their individual reporting mechanisms.
Rx_FIFO_Overflow
If the available bandwidth on the SBus dedicated to receive DMA is less than
the available throughput on the network, the RxFIFO may run out of space
and not be able to receive any more data from the RX_MAC. This condition
propagates to the RX_MAC, and when it runs out of space in its synchroni-
zation FIFO the frame is aborted using the Rx_ABORT mechanism that was
described above.
The RX_MAC will continue to receive the frame from the network, but the
remainder of the frame is dropped “on the floor.” The RX_MAC will gener-
ate an interrupt to the device driver to indicate the occurrence of this event.
Rx_Buffer_Not_Available
When a receive frame is ready to be transferred to the host memory, the DMA
control state machine fetches the next descriptor from the ring. If the descrip-
tor is not owned by the hardware, the error condition is encountered. The un-
loading process unloads the frame from the RxFIFO and drops it “on the
floor.” When the next frame in the FIFO is to be unloaded, the DMA control
state machine polls the descriptor again. An interrupt is generated to the de-
vice driver to indicate the occurrence of this event.
Rx_Buffer_Overflow
The unloading process transfers frames from the RxFIFO to data buffers in
the host memory. If the size of a buffer in the host memory is smaller than the
frame size, the buffer is filled up and the remainder of the frame is dropped
“on the floor.” This error condition is not reported to the software via an in-
terrupt. Instead, when the descriptor is returned to the device driver, an over-
flow status bit is set in the descriptor. Also, the length field in the descriptor
specifies the actual size of the frame received.