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

The ATM/UTOPIA software consists of three separate components.
IxAtmdAcc AtmD is the main driver component. It contains features to support the configuration, transmission, and reception of ATM adaptation layer 5 packets (AAL5); raw ATM cells, which we call ATM adaptation layer 0 (AAL0); and operations and maintenance (OAM).
IxAtmm AtmM is a component that demonstrates the management of port and ATM virtual connections (VCs). It contains functions that manage the buffer allocations for AtmD. As a demonstration, you may decide to replace AtmM with implementations of your own for some features.
IxAtmSch The Intel IXP400 software implements cell scheduling on the Intel XScale core. AtmSch is a demonstration implementation of an ATM cell scheduler. It is not a general-purpose scheduler, but may be sufficient for your application. The features of this scheduler are enumerated later in this chapter. If you do need to implement a more fully featured scheduler, implement it using the AtmSch scheduler API as AtmD can then make use of your alternative scheduler without any changes.
The following sections discuss the ATM subcomponents in more detail. For a description of the general concepts of ATM and UTOPIA, see ATM Theory and Applications (McDysan and Spohn 1999).
The main features supported by the AtmD component include:
Up to 12 ports on the UTOPIA Level-2 interface
The transmission of AAL-5 CPCS PDUs on a port/VC. The processor contains hardware acceleration for the AAL-5 CRC calculation, freeing a significant number of core...