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.

The Object Management System<br />

A networking application that uses the <strong>ACE</strong> programming framework makes use <strong>of</strong><br />

function libraries, macros, and so on that are provided with the <strong>SDK</strong>. Such an application<br />

includes source code in the following languages:<br />

Language Tools Libraries and predefined code<br />

C/C++<br />

Gnu toolchain (gcc, ld,<br />

gdb, and so on)<br />

Object Management System<br />

(OMS), Action Services Library<br />

(ASL), Resource Manager, startup<br />

and configuration scripts<br />

IXP1200 microcode<br />

IXP1200 Microengine<br />

Development Environment<br />

IXP1200 packet-handling macros,<br />

micro<strong>ACE</strong> macros<br />

Network Classification<br />

Language (NCL)<br />

<strong>IXA</strong> Interface Definition<br />

Language (IDL)<br />

NCL compiler (nclcomp)<br />

<strong>IXA</strong> IDL compiler<br />

(tao_idl)<br />

TCP/IP protocol definitions<br />

The <strong>IXA</strong> <strong>SDK</strong> provides entire predefined <strong>ACE</strong>s that you can use as building blocks<br />

for rapid application development. These include the following:<br />

l<br />

l<br />

l<br />

The interface <strong>ACE</strong>s, system-defined micro<strong>ACE</strong>s that every application uses to<br />

receive and transmit packets on the network interface ports<br />

The stack <strong>ACE</strong>, which represents the Linux * TCP/IP stack<br />

Several library <strong>ACE</strong>s that perform typical networking tasks such as layer-three<br />

packet forwarding, layer-two bridging, and network address translation.<br />

For more information on the predefined <strong>ACE</strong>s, see Chapter 7, “Interface <strong>ACE</strong>s,” and<br />

Chapter 8, “Stack and Library <strong>ACE</strong>s.”<br />

The Object Management System<br />

The Object Management System (OMS), part <strong>of</strong> the IX system s<strong>of</strong>tware, is a single<br />

logical entity with components distributed throughout the system. The OMS services<br />

are part <strong>of</strong> the <strong>IXA</strong> API. The management and control modules for an application use<br />

the global C functions defined by the OMS services to create, configure, control, and<br />

destroy objects and structures in all parts <strong>of</strong> the application, and to perform global<br />

tasks. The primary global services your application requires are:<br />

l<br />

l<br />

l<br />

Creating and destroying <strong>ACE</strong>s<br />

Defining and controlling packet flow using targets<br />

Communicating among <strong>ACE</strong>s and other programs with crosscalls<br />

Parts <strong>of</strong> the<br />

OMS<br />

The OMS contains the following parts:<br />

l<br />

The Resolver, which creates and deletes <strong>ACE</strong>s, and manages packet flow by<br />

binding <strong>ACE</strong>s and targets.<br />

20 Elements <strong>of</strong> an Application<br />

Revision 3.3, August 2001

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

Saved successfully!

Ooh no, something went wrong!