Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: ATM Driver Access (IxAtmdAcc) API
April 2005 IXP400 Software Version 2.0 Programmer’s Guide
58 Document Number: 252539, Revision: 007
— if the overall user application involves a port configured with a VC supporting a very different
traffic rate. This tuning is at the client’s discretion and, therefore, is beyond the scope of this
document.
In the case of OAM, a PDU containing OAM cells for any port, VPI, or VCI must be submitted for
transmission on the dedicated OAM-VC for that port. This is true regardless of whether an AAL-5/
AAL-0-48/AAL-0-52 transmit service connection exists for the given VPI or VCI. The dedicated
OAM-VC will be scheduled just like any other VC.
4.5.1 Scheduled Transmission
The scheduling entity controls the VC from which cells are transmitted and when they are
transmitted. Buffers on each VC are always sent in the sequence they are submitted to IxAtmdAcc.
However, cells from different VCs can be interleaved.
Figure 14 shows VC connection and buffer transmission for a scheduled port.
1. A control client wants to use an ATM traffic shaping entity that will control the transmission of
cells on a particular port, ensuring VCs on that port conform to their traffic descriptor values.
The client, therefore, calls ixAtmdAccScheduledModeEnable() — passing the port and some
callback functions as parameters.
IxAtmdAcc has no client connections active for that port and accepts the scheduler
registration.
2. Later, a data client wants to use the IxAtmdAcc AAL-5/AAL-0-48/AAL-0-52/OAM transmit
service for a VC on the same port, and therefore calls ixAtmdAccTxVcConnect().
In the case of the OAM transmit service, the connection will be on the dedicated OAM-VC for
that port.
3. IxAtmdAcc calls the IxAtmdAccTxSchVcIdGetCallback () callback registered for the port. By
making this call, IxAtmdAcc is asking the traffic shaping entity if it is OK to allow traffic on
Figure 14. Buffer Transmission for a Scheduled Port
AtmdAcc
Data Client
Tx Ctrl
Client
(Scheduling
Component)
2: ixAtmdAccTxConnect(port,vpi,vci, connParams)
6: ixAtmdAccTxPduSubmit(connId, mbuf*,
numCells))
9: hwSend(mbuf, numCells)*
5: connId
1: ixAtmdAccScheduledModeEnable(port,
schedulerCallbacks)
3: IxAtmdAccTxSchVcIdGetCB(port,vpi,vci,connId)
7: IxAtmdAccTxVcDemandUpdateCB(vcId,numCells)
4: VcId
8: ixAtmdAccTxProcess(port,
scheduleTable)
B2284-01