Intel® IXP400 Software

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

The schedule table is composed of an array of table entries, each of which specifies a VC ID and a number of cells to transmit from that VC. The scheduler explicitly inserts idle cells into the table, where necessary, to fulfill the traffic contract of the VCs registered in the system. Idle cells are inserted in the table with the VC identifier set to 0.

The exact format of the schedule table is defined in IxAtmTypes.h.

Figure 26 shows how this table is translated into an ordered sequence of cells transmitted to the ATM port.

Figure 26. Translation of IxAtmScheduleTable Structure to ATM Tx Cell Ordering

IxAtmScheduleTable

 

 

IxAtmScheduleTableEntry[]

tableSize: 5

 

 

 

 

0

vcUserConnId: 1

 

 

 

 

 

numberOfCells: 2

totalCellSlots: 9

 

 

 

 

 

 

 

 

vcUserConnId: 2

table:

 

 

 

 

1

 

 

 

 

numberOfCells: 3

*ptr

 

 

 

 

 

 

 

 

 

 

vcUserConnId: 0

 

 

 

 

 

2

 

 

 

 

 

numberOfCells: 1

 

 

 

 

 

 

 

 

 

 

 

3

vcUserConnId: 1

Cells transmitted on the ATM line

 

numberOfCells: 1

 

 

 

 

vcUserConnId: 2

in the order specified, numbered

 

4

by vcUserConnId. (0 indicates

 

 

numberOfCells: 2

idle cell)

 

 

 

 

 

 

 

2

2

1

0

2

2

2

1

1

 

 

 

ATM Tx

 

 

 

 

 

 

 

 

 

 

 

 

 

B2301-01

6.5.1.1Minimum Cells Value (minCellsToSchedule)

When a port model is created the minimum number of cells (minCellstoSchedule) that the scheduler should schedule per table is specified. Therefore, as long as there is at least one cell available to schedule the scheduler will guarantee to generate a table containing a minimum totalCellSlots value of minCellsToSchedule. If the number of outstanding cells available for scheduling is less than minCellsToSchedule, idle cells are scheduled to make up the difference. This value is setup once per port and cannot be modified.

Note: The minCellstoSchedule facility is provided to simplify the transmission control code in the case where queue threshold values are used to drive scheduling. The threshold value in cells can be matched to the minCellsToSchedule so that scheduler is always guaranteed to schedule enough cells to fill the Tx Q above its threshold value.

6.5.1.2Maximum Cells Value (maxCells)

The maximum number of cells that the scheduler produces in a table can be limited by the maxCells parameter. This can controllable on a table by table basis. The actual number of cells scheduled will be the lesser of maxCells and minCellsToSchedule.

6.5.2Schedule Service Model

IxAtmSch provides schedule service through two functional interfaces: “VC queue update” and “Schedule table update.”

Programmer’s Guide

IXP400 Software Version 2.0

April 2005

 

Document Number: 252539, Revision: 007

83

Page 83
Image 83
Intel IXP400 manual Schedule Service Model, Minimum Cells Value minCellsToSchedule, Maximum Cells Value maxCells