
IBM3206K0424
IBM Processor for Network Resources
Preliminary
Cell/Packet Re-assembly (REASM)
Page 324 of 676
pnr25.chapt05.01
August 14, 2000
Scatter/Cut Through Receive Processing
The scatter/cut through support is very versatile and easy to use. Scatter typically refers to scattering pages 
from a contiguous IBM3206K0424 buffer into multiple non-contiguous host pages. Cut through refers to 
moving contiguous data from IBM3206K0424 buffers into contiguous storage in host memory. The functions 
are similar, and the terms scatter and cut through may be interchanged in the following text since cut through 
is really a special case of scatter. The correct term is used when context requires it. 
The scatter processing is performed by RXAAL along with RXQUE and DMAQS. The following items need to 
be setup: 
 DMAQS should be setup and ready to run. 
 RXQUE should be setup and ready to run. Each queue that is used should have the proper event size 
selected, the direction should be set correctly, and timestamps and bcach advice should be disabled. 
 Page buffers or descriptors should be placed on the configured receive queues. 
 The scatter configurations need to be set in the RXALL - Scatter/Cut Through Info Registers. 
 The scatter flags need to be set in the RXALL - Scatter/Cut Through Flag Registers. 
 Each LCD that is to use scatter, needs to have the ppMode field set to do scatter. 
 A scatter configuration needs to be selected for each connection by setting the cutThruSel field in the 
receive LCD. 
Once set up, the scatter mechanism is performed by RXAAL for the user. There is user intervention required 
to process the packets when the scatter is complete, and for page recovery in error scenarios. 
There are many options when setting up scatter, and the selection of the type of scatter processing to perform 
depends on the users environment. The basic scatter mechanism will be described followed by a discussion 
of the different options that can be used. 
When packets are received and scattered, the following structure shows the main components of the 
received packet: 
The DMA list is maintained immediately after the IBM3206K0424 packet header, and before the receive 
packet data. For this reason, the user should allocate enough space between the packet header and the 
packet data to accommodate a maximum-sized DMA list based on the maximum number of pages that could 
be DMAed. The rxOffset field in the receive LCD is where this offset is specified. The maximum receive offset 
is 256 bytes, which is specified with an rxOffset value of 
’
0
’
. The following is the layout of the DMA list: 
General Layout of a Received Packet in Scatter Mode 
struct ScatterRxPacket {
     packetHeader;   // Charm packet header
     dmaList;        // Scatter dma list
     padbytes;       // Pad out to receive offset from lcd
     packetData;     // Actual receive packet
  };