struct hfa384x_rx_frame question

Jouni Malinen jkmaline
Mon Jul 14 06:46:11 PDT 2003


On Mon, Jul 14, 2003 at 11:21:16AM +0200, Antonio Vilei wrote:

> Why does the struct hfa384x_rx_frame include the 802.3 header after the
> 802.11 one?
> What is the purpose of this 802.3 header, since it is not sent on air?

Prism2 station firmware supports two different methods of
sending/receiving data frames. One can use either IEEE 802.11 header or
IEEE 802.3 header. In case of 802.3, station firmware generates IEEE
802.11 header based on the address fields.

Management frames can only be sent with IEEE 802.11 headers and Host AP
driver uses this format also for data frames. IEEE 802.3 mode hides some
802.11 details and in theory could be easier to use in the driver (if
the driver is only using normal data frames and does not care about Host
AP mode or WDS, etc.).

> I've seen that setting 802.11 data_len field in this struct requires
> cpu_to_le16, so the card uses little endian; setting 802.3 len field in this
> struct requires cpu_to_be16, so the card (or another part of it) uses big
> endian for this field.

Yes, Prism2 is little endian. However, 802.3 format is big endian
(network byte order).

-- 
Jouni Malinen                                            PGP id EFC895FA




More information about the Hostap mailing list