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.D ata (HDLC frame or RA W 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.D escriptor 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, ... = timeslo ts co n fig ur e d as " H DLC")
IXP_BUFs
HssPacketizedRx
queue
B2382-03