5.0 Reassembly Coprocessor
RS8234
5.4 Buffer Management
ATM ServiceSAR Plus with xBR Traffic Management
5-22
N8234DSC
PRELIMINARY
5.4.7 Error Conditions
An empty condition occurs when a buffer is needed and there are no available
buffers in the free buffer queue. If the BFR1 queue is empty and BFR1 does not
equal BFR0, then the Rsm coprocessor checks the BFR0 queue before declaring
an empty condition.
If an empty condition occurs after the first buffer of a CPCS-PDU is written,
the reassembly coprocessor will perform early packet discard on the channel and
write a status queue entry with the EPD and free buffer queue Underflow (UNDF)
bits set to a logic high. EPD functions are described in Section 5.4.8, Early Packet
Discard. Also, if a buffer queue empty condition initially occurs at the beginning
of a BOM cell, a status queue entry is written with UNDF set to a logic high and
BD_PNTR null. In both cases, the RSM_HF_EMPT bit is set in the
HOST_ISTAT1 and LP_ISTAT1 registers if the BD_LOCAL bit is a logic low in
the free buffer queue base table, or the RSM_LF_EMPT bit is set if BD_LOCAL
is a logic high.
All cells of a PDU up to and including the next EOM cell are discarded. Upon
receiving a BOM or SSM cell, the reassembly coprocessor checks the queue
indicated by BFR0 for a valid free buffer. If a free buffer exists, the Rsm
coprocessor stores the cell in the assigned buffer.
For AAL5 channels, the AAL5_DSC_CNT counter is incremented for each
CPCS_PDU discarded during this error condition.
Channels that have outstanding buffers from an empty queue are not affected
until they need a new buffer. Once the host has written more free buffers on the
queue with VLD bit set to a logic high, the reassembly coprocessor will
automatically recover from the empty condition.
5.4.8 Early Packet Discard
The packet discard feature provides a mechanism to discard complete or partial
CPCS-PDUs, based upon service discard attributes or error conditions.
5.4.8.1 General
Description
The EPD feature performs these basic functions:
Halts reassembly of the CPCS-PDU marked for discard until the next
BOM cell and the error condition has cleared.
Writes a status queue entry with the EPD bit set and other appropriate
STATUS and PDU_CHECKS bits set, based on the reason for the discard.
5.4.8.2 Frame Relay
Packet Discard
The frame relay discard attribute is contained in the BOM cell of a CPCS-PDU. If
the FRD_EN bit in the Rsm VCC Table is a logic high, the frame relay packet
discard function for that VCC is enabled, and the functions below are performed.
When the reassembly coprocessor receives a BOM cell on a VCC with this
feature enabled, it checks the 1-bit DE field in the frame relay header. If this bit is
a logic high, and the channel priority (the DPRI in the Rsm VCC Table) is less
than or equal to the global priority, RSM_CTRL (GDIS_PRI), then the Rsm
coprocessor discards the cell, marks the rest of the packet for discard, and
increments the SERV_DIS counter in the VCC Table. All cells on that channel up
to the next BOM are discarded.
If the SERV_DIS counter rolls over, the CNT_ROVR bit in the next status
entry for this channel will be set to a logic high. The CNT_ROVR bit in the VCC
Table holds this flag information until a status is sent.