13.06.2015 Views

Intel IXA SDK ACE Programming Framework - Department of ...

Intel IXA SDK ACE Programming Framework - Department of ...

Intel IXA SDK ACE Programming Framework - Department of ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

OMS for Global Application Services<br />

Network interface <strong>ACE</strong><br />

Target T1<br />

Packet flow <strong>ACE</strong> 1<br />

Decision?<br />

Target T2<br />

Target T3<br />

<strong>ACE</strong> 2<br />

Processing<br />

Target T4<br />

The management program for an application binds and unbinds targets and <strong>ACE</strong>s<br />

using Resolver functions (ix_res_bind and ix_res_unbind) that are part <strong>of</strong> the<br />

OMS services. The <strong>IXA</strong> <strong>SDK</strong> also supplies utilities to bind <strong>ACE</strong>s and targets from the<br />

command line or from a script.<br />

The target mechanism makes the actual identities <strong>of</strong> the <strong>ACE</strong>s transparent to the<br />

action code that forwards the packets. The management part <strong>of</strong> your application can<br />

change the bindings <strong>of</strong> targets to <strong>ACE</strong>s to alter the path <strong>of</strong> packet flow, without you<br />

having to change the code in the <strong>ACE</strong>s themselves.<br />

For more information, see Chapter 5, “Controlling Packet Flow.”<br />

Communicatio<br />

n Among <strong>ACE</strong>s<br />

<strong>ACE</strong>s <strong>of</strong>ten need to communicate with one another or with a managing application<br />

for various reasons. For example:<br />

l<br />

l<br />

l<br />

<strong>ACE</strong>s can send alerts or status reports to the managing application.<br />

<strong>ACE</strong>s in a data processor module can receive control messages and data from<br />

<strong>ACE</strong>s in a control module.<br />

<strong>ACE</strong>s can send occasional packet data to other <strong>ACE</strong>s for special processing, or can<br />

exchange messages among themselves to coordinate packet processing.<br />

Because <strong>ACE</strong>s and their managing application might be running on different platforms<br />

and be written in different languages, the OMS acts as a message broker, using<br />

a remote procedure call model for object communication.<br />

<strong>ACE</strong>s and tasks communicate using a crosscall interface for remote method invocation.<br />

Remote method calls are handled through the distributed OMS, which provides<br />

marshalling and format conversion to address differences in byte order and word<br />

size between different processors.<br />

An <strong>ACE</strong> or task can act as a server or a client for remote procedure calls.<br />

l<br />

l<br />

The call server contains a crosscall object with the call method implementation.<br />

The call client makes remote calls to the call server using a crosscall reference object.<br />

12 Introduction and Overview<br />

Revision 3.3, August 2001

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!