Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Buffer Management
Programmer’s Guide IXP400 Software Version 2.0 April 2005
Document Number: 252539, Revision: 007 41
Figure 9 below shows the interface between the OSAL pool management module and the pool
management fields used for pool maintenance. The pool management field also stores the
os_buf_ptr field, which is used by the access-layer to retrieve the original pointer to the OS buffer
and is set at the time of pool allocation.
Figure 9. Pool Management Fields
IX_MBUF: OS-Dependent Buffer Format
As shown in Figure 10, the IX_MBUF information follows a format originally defined in Berkeley
Software Distribution (BSD) TCP/IP code distribution to preserve the backward compatibility with
previous Intel
®
IXP400 Software releases. The OSAL layer provides translation functions to map
the OS-dependent buffer format to the IX_MBUF format for Linux* and VxWorks* operating
systems. This simplifies the buffer management without sacrificing functionality and flexibility.
Figure 10. IXP_BUF: IX_MBUF Structure
IX_MBUF
Data, len …
(standard along CSR APIs)
Reserved for pool
management and extra fields
ix_ne: NPE Shared structure
(service specific)
IXP_BUF
IX_OSAL_MBUF_POOL
Pool manager
field macros and field
names
ix_next
ix_nextpacket
ix_data
ix_len
ix_rsvd
ix_PktLen
ix_reserved
ix_type ix_flags
Reserved
IX_MBUF: 1st Structure of IXP_BUF
(IX_MBUF fields)