Intel® IXP400 Software

Access-Layer Components: ATM Transmit Scheduler (IxAtmSch) API

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

Yes

Yes

Yes

No

Yes

 

 

per port

 

 

 

 

 

nrt-VBR

Yes

Single VC

No

Yes

Yes

No

No

per port

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UBR

Yes

Up to 32 VC

No

Yes

No

No

No

 

 

 

 

 

 

 

 

CBR

Yes —

Single VC

Yes

Yes

= PCR

No

No

simulated

per port

 

 

 

 

 

 

 

 

 

 

 

 

 

 

This scheduler implementation is special purpose and assumes SCR = PCR. †† The CDVT does not comply with the ATM-TM-4.1 standard.

April 2005

IXP400 Software Version 2.0

Programmer’s Guide

80

Document Number: 252539, Revision: 007

 

Page 80
Image 80
Intel IXP400 manual Access-Layer Components ATM Transmit Scheduler IxAtmSch API, Supported Traffic Types