IXP1200 Programming: The Microengine Coding Guide for the Intel IXP1200 Network Processor Family

Chapter 11: Writing microACEs

The goal of this chapter is to explain what a microACE is, why you would want to build one, and how to go about building one. We ll also take the bridging code that we built in previous chapters and turn it into a microACE.

This chapter is not meant to be a comprehensive manual for writing microACEs. Comprehensive coverage of microACEs could fill another whole book. Instead, this chapter is just a short tour of microACEs. More complete documentation can be found in the IXA SDK documentation referenced at the end of this chapter.

What is a microACE?

An Active Computing Element (ACE) is a software component that runs with the Intel Internet Exchange Architecture (IXA) Software Development Kit (SDK). An ACE is a building block that can be combined with other ACEs to create a network application. A microACE is simply an ACE that runs with the help of the IXP12xx microengines.

Each ACE has named targets that can be connected to other ACEs. When an ACE has completed processing a packet, it gives the packet to the appropriate target, which hands the packet to the ACE that is connected to that target. Special system ACEs are developed to perform tasks like receiving and transmitting packets.

Figure 11.1 shows an example network application that is composed of ACEs.


Figure 11.1: A Sample Application Composed from ACEs

In Figure 11.1, the four ACEs are composed together to form a Multiprotocol Label Switching (MPLS) switch. The edges in the graph...

UNLIMITED FREE ACCESS TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Network Bridges
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.