Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: HSS-Access (IxHssAcc) API
Programmer’s Guide IXP400 Software Version 2.0 April 2005
Document Number: 252539, Revision: 007 195
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.4 High-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.