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 213
For Tx, buffers are allocated from the IXP_BUF pool by calling IX_OSAL_MBUF_POOL_GET().
Data for transmitting can be put into the IXP_BUF by using IX_OSAL_MBUF_MDATA(). If the
client data is too large to fit into one buffer, multiple buffers can be obtained from the pool and
made into a chained IXP_BUFs by using IX_OSAL_MBUF_PKT_LEN() and
IX_OSAL_MBUF_NEXT_BUFFER_IN_PKT_PTR(). The whole chained IXP_BUF can be passed
to IxHssAcc for transmission by calling ixHssAccPktPortTx().
A Tx callback function is also registered when ixHssAccPktPortConnect() is called before the
service is enabled. When a chained IXP_BUF is done with transmitting, the callback function is
called and the buffers can be returned to the IXP_BUF pool. The packetized Transmit data flow is
described in Figure 68.
Figure 67. HSS Packetized Receive Buffering
NPE-A
Hss Packetized Rx
Operation
4. Data (HDLC frame or RAW block)
for each packet-pipe written to
appropriate mbuf, specified by
descriptor.
Steps 3 and 4 repeated to chain
mbufs as required.
2. HDLC frame processing
performed on each
packet-pipe configured
for HDLC mode
HssPacketizedRxFree0 -
HssPacketizedRxFree3
queues
3. Free descriptor
read from packet-
pipe-specific,
"free" queue
1. Data received
from HSS port
5. Descriptor returned
when entire frame/
block received.
If chaining, only first
descriptor returned.
F0-
TSa
F0-
TSb
F0-
TSc
...
F0-
TSz
Frame 0
F1-
TSa
F1-
TSb
F1-
TSc
...
F1-
TSz
Frame 1
...
HSS Port Serial Data Stream
(TSa, TSb, ... = timeslots configured as "HDLC")
IXP_BUFs
HssPacketizedRx
queue
B2382-03