cfg80211: Define IEEE P802.11ai (FILS) information elements
Define the Element IDs and Element ID Extensions from IEEE P802.11ai/D11.0. In addition, add a new cfg80211_find_ext_ie() wrapper to make it easier to find information elements that used the Element ID Extension field. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Родитель
60b8084e84
Коммит
3f817fe718
|
@ -1960,6 +1960,26 @@ enum ieee80211_eid {
|
||||||
|
|
||||||
WLAN_EID_VENDOR_SPECIFIC = 221,
|
WLAN_EID_VENDOR_SPECIFIC = 221,
|
||||||
WLAN_EID_QOS_PARAMETER = 222,
|
WLAN_EID_QOS_PARAMETER = 222,
|
||||||
|
WLAN_EID_CAG_NUMBER = 237,
|
||||||
|
WLAN_EID_AP_CSN = 239,
|
||||||
|
WLAN_EID_FILS_INDICATION = 240,
|
||||||
|
WLAN_EID_DILS = 241,
|
||||||
|
WLAN_EID_FRAGMENT = 242,
|
||||||
|
WLAN_EID_EXTENSION = 255
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Element ID Extensions for Element ID 255 */
|
||||||
|
enum ieee80211_eid_ext {
|
||||||
|
WLAN_EID_EXT_ASSOC_DELAY_INFO = 1,
|
||||||
|
WLAN_EID_EXT_FILS_REQ_PARAMS = 2,
|
||||||
|
WLAN_EID_EXT_FILS_KEY_CONFIRM = 3,
|
||||||
|
WLAN_EID_EXT_FILS_SESSION = 4,
|
||||||
|
WLAN_EID_EXT_FILS_HLP_CONTAINER = 5,
|
||||||
|
WLAN_EID_EXT_FILS_IP_ADDR_ASSIGN = 6,
|
||||||
|
WLAN_EID_EXT_KEY_DELIVERY = 7,
|
||||||
|
WLAN_EID_EXT_FILS_WRAPPED_DATA = 8,
|
||||||
|
WLAN_EID_EXT_FILS_PUBLIC_KEY = 12,
|
||||||
|
WLAN_EID_EXT_FILS_NONCE = 13,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Action category code */
|
/* Action category code */
|
||||||
|
|
|
@ -4180,6 +4180,27 @@ static inline const u8 *cfg80211_find_ie(u8 eid, const u8 *ies, int len)
|
||||||
return cfg80211_find_ie_match(eid, ies, len, NULL, 0, 0);
|
return cfg80211_find_ie_match(eid, ies, len, NULL, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* cfg80211_find_ext_ie - find information element with EID Extension in data
|
||||||
|
*
|
||||||
|
* @ext_eid: element ID Extension
|
||||||
|
* @ies: data consisting of IEs
|
||||||
|
* @len: length of data
|
||||||
|
*
|
||||||
|
* Return: %NULL if the extended element ID could not be found or if
|
||||||
|
* the element is invalid (claims to be longer than the given
|
||||||
|
* data), or a pointer to the first byte of the requested
|
||||||
|
* element, that is the byte containing the element ID.
|
||||||
|
*
|
||||||
|
* Note: There are no checks on the element length other than
|
||||||
|
* having to fit into the given data.
|
||||||
|
*/
|
||||||
|
static inline const u8 *cfg80211_find_ext_ie(u8 ext_eid, const u8 *ies, int len)
|
||||||
|
{
|
||||||
|
return cfg80211_find_ie_match(WLAN_EID_EXTENSION, ies, len,
|
||||||
|
&ext_eid, 1, 2);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* cfg80211_find_vendor_ie - find vendor specific information element in data
|
* cfg80211_find_vendor_ie - find vendor specific information element in data
|
||||||
*
|
*
|
||||||
|
|
Загрузка…
Ссылка в новой задаче