iPXE
|
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... | |
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.
u8 ieee80211_ie_rsn::id |
Information element ID.
Definition at line 800 of file ieee80211.h.
u8 ieee80211_ie_rsn::len |
Information element length.
Definition at line 803 of file ieee80211.h.
u16 ieee80211_ie_rsn::version |
RSN information element version.
Definition at line 806 of file ieee80211.h.
Referenced by wpa_make_rsn_ie().
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().
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().
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().
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().
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().
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().
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().
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.