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 67
1,2. The control client wants to disconnect the VC. IxAtmdAccRxVcDisconnect() tell IxAtmdAcc
to discard any rx traffic and — if resources are still in use — the
IxAtmdAccRxVcDisconnect() function returns
IX_ATMDACC_RESOURCES_STILL_ALLOCATED.
3. Reception of remaining traffic is discarded.
4. The client waits a certain delay — depending on the Rx drain rate for this VC — and asks
again to disconnect the VC. If resources are still in use, the IxAtmdAccRxVcDisconnect()
function returns IX_ATMDACC_RESOURCES_STILL_ALLOCATED
5. Because there are no resources still in use, the IxAtmdAccRxVcDisconnect() function returns
IX_SUCCESS. This means that there are no resources or IXP_BUFs pending for reception or
in the rxFree queue for this VC.
4.5.4 Buffer Management
The IxAtmdAcc Interface is based on IXP_BUFs. The component addressing space for physical
memory is limited to 28 bits. Therefore IXP_BUF headers should be located in the first
256 Mbytes of physical memory.
4.5.4.1 Buffer Allocation
IXP_BUFs used by IxAtmdAcc are allocated and released by the client through the appropriate
operating-system functions. During the disconnect steps, pending buffers will be released by the
IxAtmDAcc component using the callback functions provided by the client, on a per-VC basis.
4.5.4.2 Buffer Contents
For performance reasons, the data pointed to by an IXP_BUF is not accessed by the IxAtmDAcc
component.
Figure 21. Rx Disconnect
AtmdAcc
Data Client
Tx Ctrl
Client
1: ixAtmdAccRxDisconnect()
4: ixAtmdAccRxDisconnect()
3: rxCallback(userId,IX_ BUFFER_RETURN, mbuf)
2: IX_ATMDACC_RESOURCES_STILL_ALLOCATED
5: IX_SUCCESS
B2291-01