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 43
Figure 12. IXP_BUF: NPE Shared Structure
3.4 Mapping of IX_MBUF to Shared Structure
The Figure 13 below shows an example case on how the IX_MBUF headers are internally mapped
to the NPE shared structure as in the case of the Ethernet and Crypto access-layer components only.
The IX_MBUF standard buffer format is used throughout the access-layer code. In order to
minimize overhead in reading the whole buffer control structure from the memory to the NPE
while performing NPE-specific services, the pointer to the NPE shared structure is passed to the
NPE for processing the data instead of the buffer descriptor pointer itself. Therefore, for the access-
layer components, only the required information (such as next buffer pointer, buffer data pointer,
buffer length and packet length) from the buffer control structure is copied into NPE shared
structure. Depending upon the endianness, the IXP400 software internally swaps the buffers of
packetised data and the headers between the upper software layers and the NPEs for the Ethernet
and the Crypto access-layer components. It is important to note that NPE shared buffer format used
by the IXP400 software is hard-coded in the NPE microcode. It is not possible to change this
shared buffer format.
ixp_next
ixp_data
NPE Service Specific Field
ixp_len ixp_pkt_len
NPE Service Specific Field
NPE Service Specific Field
NPE Service Specific Field
NPE Service Specific Field
ix_ne: 3rd Structure of IX_BUF
(NPE Shared structure)