IXP1200 Programming

The Microengine Coding Guide for the Intel® IXP1200 Network Processor Family
Book Type: Intel Press Books

This book shows software engineers how to program the microengines of Intel's IXP1200 family of network processors. Assuming no particular background or experience with Intel® Internet Exchange Architecture (Intel® IXA) components, the book begins with a description of the hardware and development environment. You get an explanation of the right, and sometimes the wrong, approaches to programming the microengines through a series of expanding examples, covering topics such as:
 

Receiving, processing, and transmitting packets
Synchronizing between hardware threads
Using the hash unit and cyclic-redundancy check instructions
Writing microACEs to help build complex network applications
 

For readers who have no experience with the Intel IXA, the authors introduce the hardware and development environment. For readers familiar with Intel's earlier network processors, the book cites differences between programming methods for Intel IXP2XXX and Intel IXP12XX product lines.

 

The programming examples are written in structured microC "microblocks," with microengine assembly code used occasionally for illustration.

IXP1200 Programming

will show you how to:

 

Write your first program in microengine C
Use the Developer Workbench tools for compiling and debugging
Optimize and tune your program for the highest performance
 

A companion CD-ROM contains all the microengine code examples found in the book, plus a complete Intel® IXA Software Development Kit (SDK) 3.0 for building your applications.

Please sign in to register your book.

About the Author(s)

Aaron R. Kunze

Aaron R. Kunze with Erik J. Johnson are both Senior Network Software Engineers at Intel Labs. As part of a team, they designed and implemented the microACE architecture in the Intel IXP1200 Software Development Kit, which helps software engineers create reusable packet-processing modules and combine them into network processor applications. Currently, they are designing reusable Quality of Service (QoS) components for use with the Intel IXP1200 network processor family. Erik and Aaron are the authors of IXP2400/2800 Programming.

Erik J. Johnson

Erik J. Johnson with Aaron R. Kunze are both Senior Network Software Engineers at Intel Labs. As part of a team, they designed and implemented the microACE architecture in the Intel IXP1200 Software Development Kit, which helps software engineers create reusable packet-processing modules and combine them into network processor applications. Currently, they are designing reusable Quality of Service (QoS) components for use with the Intel IXP1200 network processor family. Erik and Aaron are the authors of IXP2400/2800 Programming.