Intel® IXP400 Software

Access-Layer Components: Queue Manager (IxQMgr) API

5. The ISR invokes the dispatcher.

Note: In the context of an interrupt, the dispatcher can also be invoked through a timer-based mechanism.

6.The IxQMgr reads the status flag.

7.The IxQMgr access-layer component calls the registered notification.

8.The client gets the buffer pointer on the Rx queue from the access-layer through the callback. The access-layer, in turn, accesses the Rx queue through the IxQMgr access-layer component. The IxQMgr accesses the AQM hardware.

Following this, the Intel XScale core may allocate a free buffer from the memory pool to the RxFree queue for the next incoming packet from the NPE.

Figure 90. Dispatcher in Context of an Interrupt

 

1

 

 

8

Get

the

 

 

Register callback

 

Queue

 

 

 

 

 

 

 

User

Access-

 

QMgr

5

ISR in OS

 

layer

 

 

 

Callback

 

Component

(or) Timer

 

Component

7

 

 

 

 

 

 

 

 

Get Queue-Status

6

 

 

 

 

 

 

 

 

 

 

Queue Status Bus

AQM

 

 

 

 

Hardware

 

 

 

Status

 

 

to NPEs

Status

 

 

 

NPE

 

 

Flags

 

 

Flags

 

 

 

2

Low Group

High Group

 

 

 

0

31 32

 

 

 

63

4

 

 

 

Interrupt High to Intel

 

 

 

 

 

Interrupt Low to Intel

 

XScale® Core

Intel XScale®

 

 

®

 

 

 

 

 

XScale Core

 

 

 

3

Core Interrupt

 

 

 

 

 

 

 

 

 

 

 

 

 

Controller

 

 

 

 

 

 

 

B3805 01

Figure 91 shows the sequence of events that occurs when a dispatcher is ran in the context of a polling mechanism.

At the start of the dispatcher a call is made to read the status of the status flag to check if the queue watermark threshold has been crossed. It then immediately clears the status flag. In case of livelock prevention feature, the status flag is not cleared immediately because of the sticky interrupt implementation.

1.The user registers a callback function with the access-layer component (for example, EthAcc). The dispatcher invokes callback in the access-layer component, and the access-layer component then invokes the user callback.

Programmer’s Guide

IXP400 Software Version 2.0

April 2005

 

Document Number: 252539, Revision: 007

271

Page 271
Image 271
Intel IXP400 manual Aqm