Designing Embedded Networking Applications: Essential Insights for Developers of Intel IXP4XX Network Processor Systems

If your eyes are blinded with your worries, you cannot see the beauty of the sunset.
Jiddu Krishnamurti
The Intel IXP4XX Network Processor is a versatile device, combining a high-performance core processor with connectivity to a large number of networking and communications interfaces. You can utilize this network processor in a wide range of applications. This chapter describes a few of the many possible networking applications, such as:
SOHO routers and residential gateways
Security appliance
Enterprise wireless access points
Network-addressed storage
Embedded/industrial control
Each application is described in the overall network context, identifying specific products that can utilize an IXP4XX network processor. Possible board or system designs are outlined for each product. Finally, each description contains the software architecture for that application, focusing on the components you need to construct or modify.
You may not find an exact match for the product you want to build, but you should find building blocks and ideas you can apply to your own design. The Intel Developer Web site, listed in "References," contains a number of system reference designs that you can use as a starting point for your system or platform design.
From a software perspective, you typically construct a product from the following components:
Intel IXP400 software. The Intel IXP400 software includes the hardware access libraries and some device drivers.
Operating system and networking stack. You might use an inhouse operating system and networking stack or purchase one from an independent software vendor (ISV).
Application...