iPXE
Data Fields
ieee80211_ie_rsn Struct Reference

802.11 Robust Security Network ("WPA") information element More...

#include <ieee80211.h>

Data Fields

u8 id
 Information element ID. More...
 
u8 len
 Information element length. More...
 
u16 version
 RSN information element version. More...
 
u32 group_cipher
 Cipher ID for the cipher used in multicast/broadcast frames. More...
 
u16 pairwise_count
 Number of unicast ciphers supported. More...
 
u32 pairwise_cipher [1]
 List of cipher IDs for supported unicast frame ciphers. More...
 
u16 akm_count
 Number of authentication types supported. More...
 
u32 akm_list [1]
 List of authentication type IDs for supported types. More...
 
u16 rsn_capab
 Security capabilities field (RSN only) More...
 
u16 pmkid_count
 Number of PMKIDs included (present only in association frames) More...
 
u8 pmkid_list [0]
 List of PMKIDs included, each a 16-byte SHA1 hash. More...
 

Detailed Description

802.11 Robust Security Network ("WPA") information element

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.

Definition at line 798 of file ieee80211.h.

Field Documentation

◆ id

u8 ieee80211_ie_rsn::id

Information element ID.

Definition at line 800 of file ieee80211.h.

◆ len

u8 ieee80211_ie_rsn::len

Information element length.

Definition at line 803 of file ieee80211.h.

◆ version

u16 ieee80211_ie_rsn::version

RSN information element version.

Definition at line 806 of file ieee80211.h.

Referenced by wpa_make_rsn_ie().

◆ group_cipher

u32 ieee80211_ie_rsn::group_cipher

Cipher ID for the cipher used in multicast/broadcast frames.

Definition at line 809 of file ieee80211.h.

Referenced by wpa_make_rsn_ie().

◆ pairwise_count

u16 ieee80211_ie_rsn::pairwise_count

Number of unicast ciphers supported.

Definition at line 812 of file ieee80211.h.

Referenced by wpa_make_rsn_ie().

◆ pairwise_cipher

u32 ieee80211_ie_rsn::pairwise_cipher[1]

List of cipher IDs for supported unicast frame ciphers.

Definition at line 815 of file ieee80211.h.

Referenced by wpa_make_rsn_ie().

◆ akm_count

u16 ieee80211_ie_rsn::akm_count

Number of authentication types supported.

Definition at line 818 of file ieee80211.h.

Referenced by wpa_make_rsn_ie().

◆ akm_list

u32 ieee80211_ie_rsn::akm_list[1]

List of authentication type IDs for supported types.

Definition at line 821 of file ieee80211.h.

Referenced by wpa_make_rsn_ie().

◆ rsn_capab

u16 ieee80211_ie_rsn::rsn_capab

Security capabilities field (RSN only)

Definition at line 824 of file ieee80211.h.

Referenced by wpa_make_rsn_ie().

◆ pmkid_count

u16 ieee80211_ie_rsn::pmkid_count

Number of PMKIDs included (present only in association frames)

Definition at line 827 of file ieee80211.h.

Referenced by wpa_make_rsn_ie().

◆ pmkid_list

u8 ieee80211_ie_rsn::pmkid_list[0]

List of PMKIDs included, each a 16-byte SHA1 hash.

Definition at line 830 of file ieee80211.h.


The documentation for this struct was generated from the following file: