Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: ATM Driver Access (IxAtmdAcc) API
Programmer’s Guide IXP400 Software Version 2.0 April 2005
Document Number: 252539, Revision: 007 63
1. The data client sends the last PDUs and the control client wants to disconnect the VC.
IxAtmdAccTxVcDisconnect() invalidates further attempts to transmit more PDUs.
Any call to ixAtmdAccPduSubmit() will fail for this VC.
2. If there are resources still in use, the IxAtmdAccTxVcDisconnect() functions returns
IX_ATMDACC_RESOURCES_STILL_ALLOCATED. This means that the hardware has not
finished transmitting and there are still IXP_BUFs pending transmission, or IXP_BUFs in the
TxDone stream.
3,4. Transmission of remaining traffic is running — no new traffic is accepted through
ixAtmdAccPduSubmit().
5. The client waits a certain delay — depending on the TX rate for this VC — and asks again to
disconnect the VC.
6. There are no resources still in use, the IxAtmdAccTxVcDisconnect() functions returns
IX_SUCCESS. This means that the hardware did finish transmitting all cells and there are no
IXP_BUFs either pending transmission or in the txDone stream.
4.5.3 Receive Services
IxAtmdAcc processes inbound AAL payload data for individual VCs, received in IXP_BUFs. In
the case of AAL 5, IXP_BUFs may be chained. In the case of AAL 0-48/52/OAM, chaining of
IXP_BUFs is not supported. In the case of OAM, an ix_IXP_BUF contains only a single cell.
In the case of AAL 0, Rx cells are accumulated into an IXP_BUF under supervision of an Rx timer.
The IXP_BUF is passed to the client when either the IXP_BUF is passed to the client — when
either the IXP_BUF is filled — or when the timer expires. The Rx timer is implemented by the
NPE-A.
Figure 18. Tx Disconnect
AtmdAcc
Data Client
Tx Ctrl
Client
1: ixAtmdAccTxDisconnect()
5: ixAtmdAccTxDisconnect()
3: hwSend()
4: ixAtmdAccBufferReturnCB(userId, mbuf)
2: IX_ATMDACC_RESOURCES_STILL_ALLOCATED
6: IX_SUCCESS
B2288-01