Intel® IXP400 Software

Access-Layer Components: HSS-Access (IxHssAcc) API

Alternatively, the client can use its own timer for suppling IXP_BUFs to the queue. This is the case if the pointer for rxFreeLowCallback() passed to ixHssAccPktPortConnect() is NULL.

The process is show in Figure 66.

Figure 66. Packetized Receive

A pplication Level

3 . R xC allback w ith * m B uf

Packetized C lient

6 . P rovide free m B ufs

5 . R xFreeLow C allback

IxH ssA cc

2 . R etrieve * m B uf from R x queue

IxQ M gr

A ccess Layer

1 . C om plete packet received and processed

4 . G enerate interrrupt w hen R xFree queue is low

7 . R eplenish R xFree queue

N P E A

N P E

P hysical Interface

H S S P ort

B 2 3 9 3 -0 3

1.When a complete packet is received, the Rx queue call-back function is invoked in an interrupt.

2.The descriptor is pulled from the Rx queue and the callback for this channel is invoked with the descriptor. The descriptor gets recycled.

3.The buffer is transmitted to the client.

4.When the RxFree queue is low, IxQMgr triggers an interrupt to IxHssAcc.

5.IxHssAcc triggers the client rxFreeLowCallback function, which was registered during the client connection process.

6.The client provides free IXP_BUFs for specific packetized channels.

7.Free IXP_BUFs are stored in the RxFree queue, and listed within the IxHssAcc Rx descriptors.

April 2005

IXP400 Software Version 2.0

Programmer’s Guide

210

Document Number: 252539, Revision: 007

 

Page 210
Image 210
Intel IXP400 manual Packetized Receive