iPXE
Defines
Maximum lengths in the 802.11 protocol

Defines

#define IEEE80211_MAX_DATA_LEN   2304
 Maximum length of frame payload.
#define IEEE80211_LLC_HEADER_LEN   8
 Length of LLC/SNAP headers on data frames.
#define IEEE80211_MAX_CRYPTO_HEADER   8
 Maximum cryptographic overhead before encrypted data.
#define IEEE80211_MAX_CRYPTO_TRAILER   8
 Maximum cryptographic overhead after encrypted data.
#define IEEE80211_MAX_CRYPTO_OVERHEAD   16
 Total maximum cryptographic overhead.
#define IEEE80211_MAX_FRAME_DATA   2296
 Bytes of network-layer data that can go into a regular data frame.
#define IEEE80211_TYP_FRAME_HEADER_LEN   24
 Frame header length for frames we might work with.
#define IEEE80211_MAX_FRAME_HEADER_LEN   32
 Theoretical maximum frame header length.
#define IEEE80211_MAX_FRAME_LEN   2352
 Maximum combined frame length.
#define IEEE80211_MAX_SSID_LEN   32
 Maximum length of an ESSID.

Define Documentation

#define IEEE80211_MAX_DATA_LEN   2304

Maximum length of frame payload.

This does not include cryptographic overhead, which can be up to 20 bytes, but it DOES include the 802.2 LLC/SNAP headers that are used on data frames (but not management frames).

Definition at line 28 of file ieee80211.h.

Referenced by net80211_alloc().

#define IEEE80211_LLC_HEADER_LEN   8

Length of LLC/SNAP headers on data frames.

Definition at line 31 of file ieee80211.h.

Referenced by net80211_ll_pull(), and net80211_ll_push().

Maximum cryptographic overhead before encrypted data.

Definition at line 34 of file ieee80211.h.

Maximum cryptographic overhead after encrypted data.

This does not count the MIC in TKIP frames, since that is considered to be part of the MSDU and thus contributes to the size of the data field.

It does count the MIC in CCMP frames, which is considered part of the MPDU (outside the data field).

Definition at line 45 of file ieee80211.h.

Total maximum cryptographic overhead.

Definition at line 48 of file ieee80211.h.

#define IEEE80211_MAX_FRAME_DATA   2296

Bytes of network-layer data that can go into a regular data frame.

Definition at line 51 of file ieee80211.h.

Frame header length for frames we might work with.

QoS adds a two-byte field on top of this, and APs communicating with each other in Wireless Distribution System (WDS) mode add an extra 6-byte MAC address field, but we do not work with such frames.

Definition at line 60 of file ieee80211.h.

Referenced by ath5k_txbuf_setup(), ccmp_decrypt(), ccmp_encrypt(), net80211_accum_frags(), net80211_ll_pull(), net80211_ll_push(), net80211_probe_start(), net80211_send_assoc(), net80211_send_auth(), net80211_send_disassoc(), net80211_tx_mgmt(), tkip_decrypt(), tkip_encrypt(), wep_decrypt(), and wep_encrypt().

Theoretical maximum frame header length.

This includes the QoS and WDS Addr4 fields that we should never see.

Definition at line 67 of file ieee80211.h.

#define IEEE80211_MAX_FRAME_LEN   2352

Maximum combined frame length.

The biggest frame will include 32 frame header bytes, 16 bytes of crypto overhead, and 2304 data bytes.

Definition at line 74 of file ieee80211.h.

#define IEEE80211_MAX_SSID_LEN   32

Maximum length of an ESSID.

Definition at line 77 of file ieee80211.h.

Referenced by net80211_autoassociate(), net80211_check_settings_update(), and net80211_probe_step().