Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Programmer’s Guide IXP400 Software Version 2.0 April 2005
Document Number: 252539, Revision: 007 35
Buffer Management 3
This chapter describes the data buffer system used in Intel
®
IXP400 Software v2.0, and includes
definitions of the IXP400 software internal memory buffers, cache management strategies, and
other related information.
3.1 What’s New
There are no changes or enhancements to this component in software release 2.0.
3.2 Overview
Buffer management is the general principle of how and where network data buffers are allocated
and freed in the entire system. Network data buffers, whose formats are known to all involved
components, need to flow between access-layer components.
As shown in Figure 3, the IXP400 software access-layer follows a simple buffer-management
principle: All buffers used between access-layer component and clients above the access-layer
component must be allocated and freed by the clients, that is, in this case, the operating system
driver. The client passes a buffer to an access-layer component for various purposes (generally, Tx
and Rx), and the access-layer component returns the buffer to the client when the requested job is
completed. The access-layer component’s Operating System Abstraction Layer module provides
the mapping of the OS buffer header fields to the IXP buffer format. Clients can also implement
their own utilities to convert their buffers to the IXP_BUF format and vice-versa. Depending upon
the service requested, the NPE modifies the IXP_BUF’s shared structure and hands the buffer back
to the access-layer component. The Figure 3 shows different stages where the different fields in the
IXP_BUF buffer gets updated at transmit and receive time.