Intel® IXP400 Software
Access-Layer Components: Ethernet Database (IxEthDB) API
Programmer’s Guide IXP400 Software Version 2.0 April 2005
Document Number: 252539, Revision: 007 175
It is important to note that the IX_OSAL_MBUFs extracted from the EthRxFree queue by the NPE
may be used to deliver both IEEE802.3 and IEEE802.11 frames to the client software. The NPE
microcode does not make any adjustment to the ixp_ne_data field from the IX_OSAL_MBUF
header before writing out the received frame, regardless of the header conversion operation
performed.
Transmit Path
The NPE microcode converts input IEEE802.11 frames to IEEE802.3 frames prior to transmitting
them to the PHY. Conversions are performed only if necessary (i.e., input IEEE802.3 frames are
not converted). Furthermore, conversions only apply to the data that is actually transmitted via the
MII interface; the IX_OSAL_MBUFs containing frames to be transmitted are never modified (i.e.,
the content of an IX_OSAL_MBUF is not altered between the time it is extracted from the EthTx
queue and the time it is inserted into the EthTxDone queue). There is no table or global
configuration variable associated with this service. All the information needed to perform 802.11 to
802.3 header conversion is contained within the submitted 802.11 frames and their associated
IX_OSAL_MBUF headers.
The NPE examines determines whether 802.11 header to 802.3 header conversion is required for
each submitted frame by examining the ixp_ne_flags.link_prot field of the IX_OSAL_MBUF
header associated with the frame.
If the NPE determines that no header conversion is required, it bypasses this service and continues
with other transmit path processing. If the NPE determines that header conversion is requested, it
performs the header conversion prior to performing additional transmit path processing (such as
the VLAN-related processing). The NPE removes the 802.11 header, inserts an untagged 802.3
header, and conditionally removes the LLC/SNAP header as appropriate. The fields of the 802.3
header are filled according to the rules in Table33 on page 176. Finally, the NPE resets its internal
Table 32. 802.3 to 802.11 Header Conversion Rules
802.11 Field AP to STA mode AP to AP mode
Frame Control value set by
ixEthDBWiFiFrameControlSet() (to
DS=0)
value set by i
xEthDBWiFiFrameControlSet() (to DS=1)
Duration / ID value set by
ixEthDBWiFiDurationIDSet() value set by ixEthDBWiFiDurationIDSet()
Address 1 802.3 destination MAC address gateway AP MAC address (from database)
Address 2 value set by ixEthDBWiFiBBSIDSet() value set by ixEthDBWiFiBBSIDSet() (as
transmitter MAC, TA)
Address 3 802.3 source MAC address 802.3 destination MAC address
Sequence Control undefined (1) undefined (1)
Address 4 absent (2) 802.3 source MAC address
LLC / SNAP The conversion in this layer is dependant upon 802.3 - Ethernet, 8802, or 802.11
frame characteristics. The NPE handles this conversion appropriately.
(1) - Because the Sequence Control field is overwritten by the IEEE802.11 MAC/PHY, the NPE microcode
does not attempt to set it to any particular value. Its value is undefined when returned to the client.
(2) - If the frame is of the type “from AP to STA”, the Address4 field is not present, i.e., the IEEE802.11 frame
header is reduced to only 24 bytes total.