Intel® IXP400 Software

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

Figure 65. Packetized Transmit

Application Level

1. ixHssAccPktPortTx

( hssPortId, hdlcPortId, *mBuf for transmit data)

Packetized

Client

5. ixHssAccPktTxDoneCallback (*mBuf, numHssErrs, pktStatus, txDoneUserId)

IxHssAcc

2. Descriptor to Tx queue

IxQMgr

Access Layer

3. NPE reads data from pointer in Tx queue, transmits data on HSS port.

NPE

NPE A

4. Move descriptor to TxDone queue

Physical Interface

HSS Port

B2392-02

1.The client presents an IXP_BUF to IxHssAcc for transmission.

2.IxHssAcc gets a transmit descriptor from its transmit descriptor pool, fills in the descriptor, and writes the address of the descriptor to the Tx queue.

3.The NPE reads a transmit descriptor from the Tx queue and transmits the data on the HSS port.

4.On completion of transmission, the NPE writes the descriptor to the TxDone queue.

5.IxHssAcc is triggered by this action, and the registered callback is executed. The descriptor is freed internally.

6.IxHssAcc initiates the TxDoneCallback on the client, passing it back its IXP_BUF pointer.

13.6.3Packetized Rx

Before packetized service is enabled, the Rx queue in the IxHssAcc component has to be replenished. This can be done by calling IX_OSAL_MBUF_POOL_GET() to get an IXP_BUF and calling ixHssAccPktPortRxFreeReplenish() to put the buffer into the queue. This is repeated until the queue is full.

April 2005

IXP400 Software Version 2.0

Programmer’s Guide

208

Document Number: 252539, Revision: 007

 

Page 208
Image 208
Intel IXP400 manual Packetized Rx, Packetized Transmit