Intel® IXP400 Software

Buffer Management

Figure 6. OSAL IXP_BUF structure and macros

Cache Line

Cache Line

Cache Line

IXP_BUF fields

ix_next

ix_nextPacket

 

 

ix_data

 

 

 

ix_len

 

ix_type

ix_flags

 

ix_reserved

 

 

 

ix_rsvd

 

 

 

ix_PktLen

 

 

 

ix_priv

 

 

 

Reserved

 

 

 

Reserved

 

 

 

 

 

 

ix_signature

ix_allocated_len

ix_allocated_data

ix_pool

ix_chain

ix_osbuf_ptr

Reserved (Shared with NPE)

Reserved (Shared with NPE)

Reserved (Shared with NPE)

Reserved (Shared with NPE)

Reserved (Shared with NPE)

Reserved (Shared with NPE)

Reserved (Shared with NPE)

Reserved (Shared with NPE)

OSAL macros for IXP400 IXP_BUF

IX_OSAL_MBUF_NEXT_BUFFER_IN_PKT_PTR

IX_OSAL_MBUF_NEXT_PKT_IN_CHAIN_PTR

IX_OSAL_MBUF_MDATA

IX_OSAL_MBUF_MLEN

IX_OSAL_MBUF_MTYPE/MFLAGS

IX_OSAL_MBUF_PKT_LEN

IX_OSAL_MBUF_PRIV

IX_OSAL_MBUF_SIGNATURE

IX_OSAL_MBUF_ALLOCATED_MBUF_LEN

IX_OSAL_MBUF_ALLOCATED_MBUF_DATA

IX_OSAL_MBUF_NET_POOL

IX_OSAL_MBUF_OSBUF_PTR

User visible

User visible

Shared with NPE

IXP400 SW v1.4

v1.5 Pool management

OS dependent fields, not modified by access-layer component

OS dependent fields, may be modified by access-layer component

Reserved for NPE-Service specific usage

Fields used by Intel IXP400 version 1.4

Used by Intel IXP400 SW v1.5 for pool management / Reserved

B-3827

Depending upon the usage model, different software components use the structures to update the internal fields of the IXP_BUF structure. Figure 7 shows a typical interface for the API users or operating system drivers to the IXP_BUF fields. Depending upon the access-layer components in use the API user may or may not use the service-specific macros to read the NPE-shared structure of the IXP_BUF fields. Reading of the MAC address or a VLAN tag for a quick classification is an example of NPE-shared structure use.

Programmer’s Guide

IXP400 Software Version 2.0

April 2005

 

Document Number: 252539, Revision: 007

39

Page 39
Image 39
Intel IXP400 manual Osal Ixpbuf structure and macros