Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: Ethernet Access (IxEthAcc) API
Programmer’s Guide IXP400 Software Version 2.0 April 2005
Document Number: 252539, Revision: 007 149
Table 19. IX_OSAL_MBUF Header Definitions for the Ethernet Subsystem (Sheet 1 of 3)
Field Description
Queue
Eth
Rx
Free
Eth
Rx
Eth
Tx
Eth
Tx
Done
ixp_ne_next
Physical address of the next IX_OSAL_MBUF in a linked list (chain)
of buffers. For the last IX_OSAL_MBUF in a chain (including the
case of a single, unchained IX_OSAL_MBUF containing an entire
frame), ixp_ne_next contains the value 0x00000000.
RWR
ixp_ne_len
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
other words, it is acceptable for a number of zero-length
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.
RWR
ixp_ne_pkt_len
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
single, unchained IX_OSAL_MBUF, the value of this field will
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.
W
(6)
R
ixp_ne_data Physical address of the IX_OSAL_MBUF data cluster. R R
ixp_ne_dest_port
Physical port to which an Ethernet frame is to be forwarded. Refer
to (Table 22 and Table 20). A value of 0xFF indicates that the
destination port is unknown, i.e., no entry for the destination MAC
address could be found in the filtering/forwarding database.
W
(6)
R
(1)
ixp_ne_src_port
Either the physical MII port (see Table 22 and Table 20) through
which an Ethernet frame was received or the port ID extracted from
the VLAN TPID field of a VLAN-tagged frame.
W
(6)