Intel® IXP400 Software

Access-Layer Components: NPE Message Handler (IxNpeMh) API

5.Since this is an unsolicited message, the IxNpeMh component invokes the corresponding unsolicited callback to pass the message back to the client.

Figure 73. Receiving Unsolicited Messages from NPE to Software Client

 

 

Client

 

Customer / Demo Code

1. Register

6. Message

Callback

Callback

0x00 callback

2. Save Callback

callback n+k

 

 

0x01 callback

 

 

...

...

 

5. Get Callback

callback n+1

0xff callback

 

IxNpeMh

callback n

 

 

 

Access Driver

 

4. Receive Message

 

 

NPEs

 

3. Message

 

 

 

 

 

 

Interrupt

 

NPE A

 

NPE B

NPE C

 

 

 

B2397-01

The IxNpeMh component does not interpret message IDs. It only uses message IDs for comparative purposes, and for passing a received message to the correct callback function. This makes the IxNpeMh component immune to changes in message IDs.

The IxNpeMh component relies on the message ID being stored in the most-significant byte of the first word of the two-word message (IxNpeMhMessage).

Note: It is the responsibility of the client to create messages in the format expected by the NPEs.

Multiple clients may use the IxNpeMh component. Each client should take responsibility for handling its own range of unsolicited message IDs. (See the ixNpeMhUnsolicitedCallbackRegister.)

The IxNpeMh component handles messaging for the three NPEs independently. A problem or delay in interacting with one NPE will not impact interaction with the other NPEs.

April 2005

IXP400 Software Version 2.0

Programmer’s Guide

230

Document Number: 252539, Revision: 007

 

Page 230
Image 230
Intel IXP400 manual Receiving Unsolicited Messages from NPE to Software Client, Client Customer / Demo Code