Using IXP2400/2800 Development Tools: A Hands-on Approach to Network Processor Software Design

Walking on water and developing software from a specification are easy if both are frozen.
Edward V. Berard
You have a team. They are waiting to begin designing. Or maybe you don't have a team, and you have nothing else to do until they are hired. Or maybe you are the architect and the team. Whatever the case, this section is for you!
The next two chapters introduce you to the IXP2XXX Product Line Architecture Tool and demonstrate how to use this tool for the high-level design of your IPV4/IPV6 router application. These chapters do not cover every detail of the tool, but you will hopefully learn enough to get you going. For further information, refer to the user's guide for the tool (Intel 2004). Refer to Figure 4.1 when your project is late and your team is out to lunch.
This is your mission, should you choose to accept it: Design the packet classification and forwarding software for an IPV4/IPV6 router, as shown in Figure 4.2.
As you see, it is all about microengines (it is all about MEs). This area of design is where the performance and flexibility of the IXP2XXX network processors become evident. The MEs are used for the packet-forwarding path, also known as the fast path. The...