Intel® IXP400 Software

Access-Layer Components: Ethernet Database (IxEthDB) API

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.

Table 32. 802.3 to 802.11 Header Conversion Rules

802.11 Field

AP to STA mode

AP to AP mode

 

 

 

 

value set by

value set by i

Frame Control

ixEthDBWiFiFrameControlSet() (to

xEthDBWiFiFrameControlSet() (to DS=1)

 

DS=0)

 

 

 

 

 

Duration / ID

value set by

value set by ixEthDBWiFiDurationIDSet()

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.

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.3header 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 Table 33 on page 176. Finally, the NPE resets its internal

Programmer’s Guide

IXP400 Software Version 2.0

April 2005

 

Document Number: 252539, Revision: 007

175

Page 175
Image 175
Intel IXP400 manual To 802.11 Header Conversion Rules, Transmit Path, Field AP to STA mode AP to AP mode