Intel® IXP400 Software

Access-Layer Components: Ethernet Access (IxEthAcc) API

Table 19. IX_OSAL_MBUF Header Definitions for the Ethernet Subsystem (Sheet 1 of 3)

 

 

 

Queue

 

Field

Description

 

 

 

 

Eth

Eth

Eth

Eth

 

 

Rx

Tx

 

 

Rx

Tx

 

 

Free

Done

 

 

 

 

 

 

 

 

 

 

 

Physical address of the next IX_OSAL_MBUF in a linked list (chain)

 

 

 

 

ixp_ne_next

of buffers. For the last IX_OSAL_MBUF in a chain (including the

R

W

R

 

case of a single, unchained IX_OSAL_MBUF containing an entire

 

 

 

 

 

 

 

frame), ixp_ne_next contains the value 0x00000000.

 

 

 

 

 

 

 

 

 

 

 

The interpretation of this field depends on how the

 

 

 

 

 

IX_OSAL_MBUF is being used:

 

 

 

 

 

• For IX_OSAL_MBUFs submitted to the EthTx or EthTxDone

 

 

 

 

 

queues, ixp_ne_len represents the size (in bytes) of the valid

 

 

 

 

 

frame data in the associated data cluster prior to any frame

 

 

 

 

 

modifications that may occur on the NPE transmit data path. In

 

 

 

 

 

this case, the value of ixp_ne_len must always be greater than

 

 

 

 

 

0, unless the frame length (as specified by the ixp_ne_pkt_len

 

 

 

 

 

field in the first IX_OSAL_MBUF header of the current chain) is

 

 

 

 

 

exhausted before the current IX_OSAL_MBUF is reached. In

 

 

 

 

ixp_ne_len

other words, it is acceptable for a number of zero-length

R

W

R

 

IX_OSAL_MBUFs to be present at the end of a chain, provided

 

 

that the frame ends before the first zero-length buffer is

 

 

 

 

 

reached.

 

 

 

 

 

• For IX_OSAL_MBUFs submitted to the EthRx queues,

 

 

 

 

 

ixp_ne_len represents the size (in bytes) of the valid frame data

 

 

 

 

 

in the associated data cluster. In this case, the value of

 

 

 

 

 

ixp_ne_len must always be greater than 0.

 

 

 

 

 

• For IX_OSAL_MBUFs submitted to the EthRxFree queue,

 

 

 

 

 

ixp_ne_len represents the space in the associated data cluster

 

 

 

 

 

(in bytes) available for buffering a received frame. In this case,

 

 

 

 

 

its value must always be at least 128.

 

 

 

 

 

 

 

 

 

 

 

The value of this field depends on how the IX_OSAL_MBUF is

 

 

 

 

 

being used:

 

 

 

 

 

• For IX_OSAL_MBUFs submitted to the EthTx, EthTxDone, and

 

 

 

 

 

EthRx queues, ixp_ne_pkt_len represents the size (in bytes) of

 

 

 

 

 

the frame contained within the IX_OSAL_MBUF. It is valid only

 

 

 

 

 

in the first IX_OSAL_MBUF in a series of chained

 

 

 

 

 

IX_OSAL_MBUFs. In the event that a frame is contained in a

 

 

 

 

ixp_ne_pkt_len

single, unchained IX_OSAL_MBUF, the value of this field will

 

W(6)

R

 

 

be equal to the value of the ixp_ne_len field. For use with these

 

 

 

 

 

queues, the value of ixp_ne_pkt_len must always be greater

 

 

 

 

 

than 0. In the case of IX_OSAL_MBUFs submitted to the EthTx

 

 

 

 

 

and EthTxDone queues, this field represents the length of the

 

 

 

 

 

frame prior to any modifications that may occur on the NPE

 

 

 

 

 

transmit data path.

 

 

 

 

 

• For IX_OSAL_MBUFs submitted to the EthRxFree queue, the

 

 

 

 

 

value of ixp_ne_pkt_len must always be 0.

 

 

 

 

 

 

 

 

 

 

ixp_ne_data

Physical address of the IX_OSAL_MBUF data cluster.

R

 

R

 

 

 

 

 

 

 

 

Physical port to which an Ethernet frame is to be forwarded. Refer

 

 

 

 

ixp_ne_dest_port

to (Table 22 and Table 20). A value of 0xFF indicates that the

 

W(6)

R(1)

 

 

destination port is unknown, i.e., no entry for the destination MAC

 

 

 

 

 

address could be found in the filtering/forwarding database.

 

 

 

 

 

 

 

 

 

 

 

Either the physical MII port (see Table 22 and Table 20) through

 

W(6)

 

 

ixp_ne_src_port

which an Ethernet frame was received or the port ID extracted from

 

 

 

 

the VLAN TPID field of a VLAN-tagged frame.

 

 

 

 

 

 

 

 

 

 

Programmer’s Guide

IXP400 Software Version 2.0

April 2005

 

Document Number: 252539, Revision: 007

149

Page 149
Image 149
Intel IXP400 manual Queue Field Description Eth