802.11 frame header formats


Data Structures

struct  ieee80211_frame
 An 802.11 data or management frame without QoS or WDS header fields. More...
struct  ieee80211_llc_snap_header
 The 802.2 LLC/SNAP header sent before actual data in a data frame. More...
struct  ieee80211_rts
 16-byte RTS frame format, with abbreviated header More...
struct  ieee80211_cts_or_ack
 10-byte CTS or ACK frame format, with abbreviated header More...

Defines

#define IEEE80211_LLC_DSAP   0xAA
 Value for DSAP field in 802.2 LLC header for 802.11 frames: SNAP.
#define IEEE80211_LLC_SSAP   0xAA
 Value for SSAP field in 802.2 LLC header for 802.11 frames: SNAP.
#define IEEE80211_LLC_CTRL   0x03
 Value for control field in 802.2 LLC header for 802.11 frames.
#define IEEE80211_RTS_LEN   16
 Length of 802.11 RTS control frame.
#define ieee80211_cts   ieee80211_cts_or_ack
#define ieee80211_ack   ieee80211_cts_or_ack
#define IEEE80211_CTS_LEN   10
 Length of 802.11 CTS control frame.
#define IEEE80211_ACK_LEN   10
 Length of 802.11 ACK control frame.

Variables

struct ath5k_hw_rx_ctl packed
 An Arbel send work queue entry.

Define Documentation

#define IEEE80211_LLC_DSAP   0xAA

Value for DSAP field in 802.2 LLC header for 802.11 frames: SNAP.

Definition at line 336 of file ieee80211.h.

Referenced by net80211_ll_pull(), and net80211_ll_push().

#define IEEE80211_LLC_SSAP   0xAA

Value for SSAP field in 802.2 LLC header for 802.11 frames: SNAP.

Definition at line 339 of file ieee80211.h.

Referenced by net80211_ll_pull(), and net80211_ll_push().

#define IEEE80211_LLC_CTRL   0x03

Value for control field in 802.2 LLC header for 802.11 frames.

"Unnumbered Information".

Definition at line 345 of file ieee80211.h.

Referenced by net80211_ll_pull(), and net80211_ll_push().

#define IEEE80211_RTS_LEN   16

Length of 802.11 RTS control frame.

Definition at line 358 of file ieee80211.h.

#define ieee80211_cts   ieee80211_cts_or_ack

Definition at line 368 of file ieee80211.h.

#define ieee80211_ack   ieee80211_cts_or_ack

Definition at line 369 of file ieee80211.h.

#define IEEE80211_CTS_LEN   10

Length of 802.11 CTS control frame.

Definition at line 372 of file ieee80211.h.

#define IEEE80211_ACK_LEN   10

Length of 802.11 ACK control frame.

Definition at line 375 of file ieee80211.h.


Variable Documentation

An Arbel send work queue entry.

A multiboot memory map entry.

A multiboot module structure.

A multiboot information structure.

A multiboot ELF section header table.

A multiboot a.out symbol table.

A Master Boot Record.

A partition table entry within the MBR.

A C/H/S address within a partition table entry.

Bootable CD-ROM specification packet.

INT 13 disk parameters.

An iBFT created by gPXE.

iSCSI Boot Firmware Table (iBFT)

iBFT Target structure

iBFT NIC structure

iBFT Initiator structure

iBFT Control structure

iBFT structure header

An IP address within the iBFT.

bzImage command-line structure used by older kernels

Any key descriptor element type.

Payload structure of the GTK-encapsulating KDE.

Structure of the Group Transient Key.

Structure of the Pairwise Transient Key.

Structure of the Temporal Key for TKIP encryption.

The common header of all TFTP packets.

A TFTP options acknowledgement (OACK) packet.

A TFTP error (ERROR) packet.

A TFTP acknowledgement (ACK) packet.

A TFTP data (DATA) packet.

An SRP asynchronous event response.

An SRP asynchronous event request.

An SRP credit response.

An SRP credit request.

An SRP SCSI response.

An SRP memory descriptor.

An SRP SCSI command.

An SRP task management request.

An SRP target logout request.

An SRP initiator logout request.

An SRP login rejection.

An SRP login response.

An SRP login request information unit.

SRP information unit common fields.

An SRP port ID pair.

An SRP port ID.

SMBIOS enclosure information structure.

SMBIOS system information structure.

An SMBIOS structure header.

A SCSI LUN.

SCSI "READ CAPACITY (16)" parameter data.

A SCSI "READ CAPACITY (16)" CDB.

SCSI "READ CAPACITY (10)" parameter data.

A SCSI "READ CAPACITY (10)" CDB.

A SCSI "WRITE (16)" CDB.

A SCSI "WRITE (10)" CDB.

A SCSI "READ (16)" CDB.

Authentication frame data.

Probe request frame data.

Reassociation request frame data.

Association or reassociation response frame data.

Association request frame data.

Disassociation or deauthentication frame data.

Beacon or probe response frame data.

802.11 Vendor Specific information element

802.11 Robust Security Network ("WPA") information element

802.11 ERP Information information element

802.11 Channels information element

802.11 Channels information element channel band tuple

802.11 Power Capability information element

802.11 Power Constraint information element

802.11 Challenge Text information element

802.11 Request information element

802.11 Country information element

802.11 Country information element regulatory band triplet

802.11 Country information element regulatory extension triplet

802.11 Direct Spectrum parameter information element

802.11 rates information element

802.11 SSID information element

Generic 802.11 information element header.

10-byte CTS or ACK frame format, with abbreviated header

16-byte RTS frame format, with abbreviated header

The 802.2 LLC/SNAP header sent before actual data in a data frame.

All known IB header formats.

An Infiniband Datagram Extended Transport Header.

An Infiniband Base Transport Header.

An Infiniband Global Route Header.

A management datagram.

A communication management MAD.

A subnet administration MAD.

A subnet management MAD.

A management datagram common header.

Management datagram class_specific data.

A communication management attribute.

A communication management ready to use reply.

A communication management connection reply.

A communication management connection rejection.

A communication management connection request.

A communication management path.

Communication management common fields.

Subnet management MAD class-specific data.

A subnet management directed route path.

A subnet management attribute.

A Partition Key Table attribute.

A Port Information attribute.

A GUID Information attribute.

A Node Information attribute.

A Node Description attribute.

An AoE header.

An AoE ATA command.

A Hermon receive work queue entry.

A Hermon send work queue entry.

An Arbel receive work queue entry.

Defined in section 14.2.5.2 of the IBA

Defined in section 14.2.5.3 of the IBA.

Defined in section 14.2.5.5 of the IBA.

Defined in section 14.2.5.6 of the IBA.

Defined in section 14.2.5.7 of the IBA.

Defined in section 12.6.5 of the IBA.

Defined in section 12.6.7 of the IBA.

Defined in section 12.6.8 of the IBA.

Defined in section 12.6.9 of the IBA.

Defined in section 13.4.2 of the IBA.

This header is not acknowledged in the 802.11 standard at all; it is treated just like data for MAC-layer purposes, including fragmentation and encryption. It is actually two headers concatenated: a three-byte 802.2 LLC header indicating Subnetwork Accesss Protocol (SNAP) in both source and destination Service Access Point (SAP) fields, and a five-byte SNAP header indicating a zero OUI and two-byte Ethernet protocol type field.

Thus, an eight-byte header in which six of the bytes are redundant. Lovely, isn't it?

The first 8 rates go in an IE of type RATES (1), and any more rates go in one of type EXT_RATES (50). Each rate is a byte with the low 7 bits equal to the rate in units of 500 kbps, and the high bit set if and only if the rate is "basic" (must be supported by all connected stations).

This just contains the channel number. It has the fancy name because IEEE 802.11 also defines a frequency-hopping PHY that changes channels at regular intervals following a predetermined pattern; in practice nobody uses the FH PHY.

This contains some data about RF regulations.

This contains a list of information element types we would like to be included in probe response frames.

This is used in authentication frames under Shared Key authentication.

This is used to specify an additional power limitation on top of the Country requirements.

This is used in association request frames to indicate the extremes of our TX power abilities. It is required only if we indicate support for spectrum management.

This is used in association frames to indicate the channels we can use. It is required only if we indicate support for spectrum management.

This is used to communicate some PHY-level flags.

Showing once again a striking clarity of design, the IEEE folks put dynamically-sized data in the middle of this structure. As such, the below structure definition only works for IEs we create ourselves, which always have one pairwise cipher and one AKM; received IEs should be parsed piecemeal.

Also inspired was IEEE's choice of 16-bit fields to count the number of 4-byte elements in a structure with a maximum length of 255 bytes.

Many fields reference a cipher or authentication-type ID; this is a three-byte OUI followed by one byte identifying the cipher with respect to that OUI. For all standard ciphers the OUI is 00:0F:AC, except in old-style WPA IEs encapsulated in vendor-specific IEs, where it's 00:50:F2.

One often sees the RSN IE masquerading as vendor-specific on devices that were produced prior to 802.11i (the WPA amendment) being finalized.

This is a four-level LUN as specified by SAM-2, in big-endian order.

This does not include the IE type, length, or OUI bytes, which are generic to all KDEs.

KDEs follow the 802.11 information element format of a type byte (in this case "vendor-specific", with the requisite OUI+subtype after length) and a length byte whose value does not include the length of the type and length bytes.

This structure is common to several sections within the iBFT.

Referenced by tls_new_alert(), tls_new_certificate(), tls_new_handshake(), tls_new_server_hello(), tls_new_server_hello_done(), tls_send_client_hello(), tls_send_client_key_exchange(), tls_send_finished(), wpa_check_pmkid(), and wpa_derive_ptk().


Generated on Tue Apr 6 20:01:58 2010 for gPXE by  doxygen 1.5.7.1