Intel IXA SDK ACE Programming Framework - Department of ...
Intel IXA SDK ACE Programming Framework - Department of ...
Intel IXA SDK ACE Programming Framework - Department of ...
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 />
appear, from the Linux TCP/IP stack point <strong>of</strong> view, as standard Ethernet interfaces.<br />
This provides a means for you to re-use existing or third-party protocol stack or<br />
management plane s<strong>of</strong>tware while migrating an application to the <strong>ACE</strong> model.<br />
OMS for Global Application Services<br />
Object Management System (OMS) services are part <strong>of</strong> the <strong>IXA</strong> API. The OMS, part <strong>of</strong><br />
the <strong>IXA</strong> system s<strong>of</strong>tware, is a single logical entity with components distributed<br />
throughout the system. Any <strong>ACE</strong> can make use <strong>of</strong> OMS services. Any program that<br />
must communicate with an <strong>ACE</strong> can do so by registering itself with the OMS as a task.<br />
An application uses global C functions defined by the OMS services to create,<br />
configure, control, and destroy objects and structures in all parts <strong>of</strong> the application,<br />
and to perform global tasks. The primary global services your application requires<br />
are:<br />
l<br />
l<br />
l<br />
Creating and destroying <strong>ACE</strong>s and tasks<br />
Defining and controlling packet flow using targets<br />
Communicating among <strong>ACE</strong>s and tasks<br />
The OMS contains the following parts:<br />
l The Resolver, which creates and deletes <strong>ACE</strong>s, and manages packet flow by<br />
binding <strong>ACE</strong>s and targets.<br />
l<br />
The Name Server, which manages the name space for the OMS, maintaining a<br />
correspondence between names and internal identifiers for <strong>ACE</strong>s, targets and<br />
tasks. The name space allows objects that might be distributed among processors<br />
to address one another unambiguously.<br />
In order to communicate with and through the OMS, a program must create a<br />
communications channel, a separate process or thread containing a communication<br />
access process, or CAP. A program can communicate with both the Resolver and the<br />
Name Server through the same CAP. When you create an <strong>ACE</strong> or task structure, a<br />
CAP is automatically created with it. The OMS provides functions to retrieve the<br />
CAP for use as an argument to other OMS functions.<br />
Creating <strong>ACE</strong>s<br />
An application’s manager program creates and initializes the application’s <strong>ACE</strong>s by<br />
calling Resolver functions in the OMS. To do this, it must first register with the OMS<br />
as a task, using the ASL function ix_task_init. The task provides access to a CAP<br />
channel through which to communicate with the Resolver.<br />
You define an initialization function in the <strong>ACE</strong> executable to create the <strong>ACE</strong> structure<br />
and all support structures such as packet destination targets, data sets and<br />
elements, crosscalls, and events.<br />
When the manager program creates the <strong>ACE</strong>, you pass the <strong>ACE</strong> executable to the<br />
Resolver function ix_res_create_ace. This calls the initialization function and<br />
starts the <strong>ACE</strong>’s main loop, which begins packet and crosscall event processing.<br />
10 Introduction and Overview<br />
Revision 3.3, August 2001