Intel® IXP400 Software

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

The time slots within a stream can be configured as packetized (raw or HDLC, 64 Kbps, and

56 Kbps), channelized voice64K, or channelized voice56K or left unassigned. “Voice” slots are those that will be sent to the channelized services. For more details, see “HSS Port Initialization Details” on page 197.

For packetized time slots, data will be passed to the HDLC coprocessor for processing as packetized data. The HDLC coprocessor provides the bit-oriented HDLC processing for the HSS coprocessor and can also provide “raw” packets, those which do not require HDLC processing, to the client. The HDLC coprocessor can support up to four packetized services per HSS port.

The following HDLC parameters are programmable:

The pattern to be transmitted when a HDLC port is idle.

The HDLC data endianness.

The CRC type (16-bit or 32-bit) to be used for this HDLC port.

CAS bit polarity and bit inversion.

For more details, see “Packetized Connect and Enable” on page 204.

13.3.4High-Level API Call Flow

The steps below describe the high-level API call-process flow for initializing, configuring, and using the IxHssAcc component.

1.The proper NPE microcode images must be downloaded to the NPEs and initialized, if applicable. Also, the IxNpeMh and IxQMgr components must be initialized.

2.Client calls ixHssAccInit(). This function is responsible for initializing resources for use by the packetised and channelised clients.

3.For HSS configuration, the client application calls function ixHssAccPortInit(). No channelized or packetized connections should exist in the HssAccess layer while this interface is being called. This will configure each time slot in a frame to provide either packetized or channelized service as well as other characteristics of the HSS port.

4.Next, the clients prepare data buffers to exchange data with the HSS component, for transmitting or receiving. Depending on whether it is channelized or packetized service, the data is exchanged differently, as described in “HSS Port Initialization Details” on page 197.

5.The client then calls the ixHssAccPktPortConnect() or ixHssAccChanConnect() to connect the client to the IxHssAcc service. Additionally, the client provides callback functions for the service to inform the client when data is received and ready to delivered to the client.

6.The client will begin receiving data once a port is enabled. The functions to enable the packetized or channelized service ports are ixHssAccPktPortEnable() and ixHssAccChanPortEnable().

As traffic is being transmitted and/or received on the HSS interfaces and passed to the client, via a channelized or packet service, a variety of tasks may be called by the client to check the status, replenish buffers, retrieve statistics, etc. Callback functions or a polling mechanism are used in the transmitting and receiving process.

The client will process the received data or provide new data for transmission. This is done by providing new buffer pointers or by adjusting the existing pointers. The data path and requisite buffer management are described in more detail in “Buffer Allocation Data-Flow Overview” on page 211.

Programmer’s Guide

IXP400 Software Version 2.0

April 2005

 

Document Number: 252539, Revision: 007

195

Page 195
Image 195
Intel IXP400 manual High-Level API Call Flow