IXP2400/2800 Programming

The Complete Microengine Coding Guide
Book Type: Intel Press Books

This expert guide is written with one express purpose: to empower software engineers to program Intel's newest network processors successfully. The authors focus on the Intel IXP2XXX product line microengines, detailing how best to leverage parallel processing in the data plane. From these Intel pioneers, you will learn proven approaches to programming the network processors and ways to avoid pitfalls. A sample Quality-of-Service (QoS) application is built incrementally from chapter to chapter, illustrating key tasks such as:
 

Receiving and transmitting packets, including using the SPI and CSIX interfaces
Classifying and modifying packets
Performing congestion management and scheduling on flows
Synchronizing between hardware threads
Using the hash, cyclic-redundancy check, and CAM units.
Using the Intel® Internet Exchange Architecture (Intel® IXA) Portability Framework to 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 as microblocks in both microengine C and microengine assembly.

IXP2400/2800 Programming

shows you how to:

 

Write your first Intel IXP2XXX processor program and write a complete network application
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.

"Every developer who wants to program the IXP2X00 should read the book."

Steve Yates, President and CTO, ADI Engineering

"This is not just a book, it’s a Bible. There’s no question my development cycle is accelerated by using it. The author provides thorough content that’s easy to reference, so I can keep my project on track."

Jean-Jacques LOESCH, NP Project Manager, Volubill

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.