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.
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.
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.