
IBM2520L8767
IBM Processor for ATM Resources
Receive AAL Processing (RAAL)
Page 280 of 553
atmrm.chapt05.01
08/27/99
AAL5 Packet Thresholding for Cut-Through Support
RAALL supports packet header thresholding for AAL5. The threshold is set in the LCD. Once a number of
bytes
≥
the threshold value has been received, a packet threshold event is raised to the user. At this point, the
packet header contains valid offset and length values, and the ATM header field in the packet header is from
the first cell received for the current packet. This allows the user to inspect the packet header and initial
packet data before the entire packet has been reassembled.
The user has two options for determining when the packet has been reassembled. The two options are
controlled by the appropriate bit in the control register. First, the user can choose to have a packet complete
event raised when the packet completes. Second, the user can poll the packet header to watch for the packet
to complete. The polling method utilizes the done and error bits in the packet header.
The method used depends on how the user is doing the cut-through processing. For example, if correlating
two events is a problem, the polling method should be used.
Note:
In both methods error events are always raised. When using the single event mode, it is required that
the receive queues are not allowed to reach a full condition or that there is enough receive queue room for all
threshold events. If this is not the case, buffers can be lost if threshold events are flushed due to queue full
conditions.
Rx AAL 5/6/7 Cut-Through Support
Cut-through support allows software to be written that minimizes latency and the number of interrupts
(events) that occur. Cut-through support uses two mechanisms to accomplish this, automatic header DMAs
and software-assisted DMAs upon packet completion.
Automatic Header DMAs
Automatic header DMAs occur as the cells arrive for a packet. As the amount of receive data exceeds the
configurable threshold, a DMA is scheduled that DMAs the packet header and data into a system buffer
specified by a software provided system DMA descriptor. An event can be placed on a receive queue after
the DMA is complete. At this point, software has all of the header data in system memory and can operate on
it in an efficient manner. The threshold should be set to a value that is large enough so that software can
process the entire header and set up a subsequent DMA to move the protocol payload data into a system
buffer when it arrives. For example, given enough of the protocol headers, the length of a TCP/IP packet can
be derived, and the session info can be derived. Given this info, a DMA can be setup to do the TCP/IP check-
sum and move the data into a system/user buffer upon packet completion. This is referred to as Software
assisted DMAs on packet completion.
Setting up an LCD for RX Cut-Through Support
To set up an LCD for receive cut-through support, the all type must be set to 0x7. By doing this, the most
significant three protocol enable flags are redefined to be the receive queue number from which header the
DMA descriptors are obtained. This receive queue should be set up to run in reverse direction, and should be
filled by software with system DMA descriptor addresses. This queue should not be allowed to go to an empty
state or headers will be delayed and eventually packets will be thrown away if the packet completes before
the header was scheduled to be DMAed.
In addition, the header threshold value in the LCD needs to be set up. The value in this field determines when
the header is DMAed. Once the number of bytes of receive data exceed the value in this field, the header is
eligible to be DMAed. If a DMA descriptor is available from the specified receive queue, the DMA is sched-
uled. If no DMA descriptors available, then an attempt to schedule the DMA will be made when the next cell is