Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: ATM Transmit Scheduler (IxAtmSch) API
April 2005 IXP400 Software Version 2.0 Programmer’s Guide
80 Document Number: 252539, Revision: 007
Schedule table to the ATM transmit function that will contain information for ATM cell
scheduling and shaping
IxAtmSch implements a fully operational ATM traffic scheduler for use in the processor’s ATM
software stack. It is possible (within the complete IXP400 software architecture) to replace this
scheduler with one of a different design. If replaced, this component still is valuable as a model of
the interfaces that the replacement scheduler requires to be compatible with the IXP400 software
ATM stack. IxAtmSch complies with the type interfaces for an IXP400 software compatible ATM
scheduler as defined by the IxAtmdAcc software component.
The IxAtmSch service model consists of two basic concepts: ATM port and VCC. Instead of
dealing with these real hardware and software entities in the processor and software stack,
IxAtmSch models them. Because of this, there is no limit to how many ATM ports it can model and
schedule — given enough run-time computational resources.
IxAtmSch does not currently model or schedule Virtual Paths (VPs) or support any VC aggregation
capability.
In order to use IxAtmSch services, a client first must ask IxAtmSch to establish the model for an
ATM port. Virtual connections then can be attached to the port.
IxAtmSch models the virtual connections and controls the admission of a virtual connection, based
on the port model and required traffic parameters. IxAtmSch schedules and shapes the outbound
traffic for all VCs on the ATM port. IxAtmSch generates a scheduling table detailing a list of VCs
and number of cells of each to transmit in a particular order.
The IxAtmSch component’s two basic services are related. If a VC is admitted on the ATM port,
IxAtmSch is committed to schedule all outbound cells for that VC, so that they are conforming to
the traffic descriptor. The scheduler does not reject cells for transmission as long as the transmitting
user(s) (applications) do not over-submit. Conflict may happen on the ATM port because multiple
VCs are established to transmit on the port.
If a scheduling commitment cannot be met for a particular VC, it is not be admitted. The IxAtmSch
component admits a VC based only on the port capacity, current-port usage, and required-traffic
parameters.
The current resource requirements are for a maximum of eight ports and a total of 32 VCs across
all ports. This may increase in the future.
Table 9 shows the ATM service categories that are supported in the current scheduler model.
Table 9. Supported Traffic Types
Traffic Type Supported Num VCs CDVT PCR SCR MCR MBS
rt-VBR Yes
Single VC
per port
Yes Yes
Yes No Yes
nrt-VBR Yes
Single VC
per port
No Yes Yes No No
UBR Yes Up to 32 VC No Yes No No No
CBR
Yes —
simulated
Single VC
per port
Yes Yes = PCR No No
This scheduler implementation is special purpose and assumes SCR = PCR.
†† The CDVT does not comply with the ATM-TM-4.1 standard.