History

cfg80211: Support key configuration for Beacon protection (BIGTK)

IEEE P802.11-REVmd/D3.0 adds support for protecting Beacon frames using a new set of keys (BIGTK; key index 6..7) similarly to the way group-addressed Robust Management frames are protected (IGTK; key index 4..5). Extend cfg80211 and nl80211 to allow the new BIGTK to be configured. Add an extended feature flag to indicate driver support for the new key index values to avoid array overflows in driver implementations and also to indicate to user space when this functionality is available.

Jouni Malinen committed 6 years ago

Commit 56be3931 parent f8af7647 files · +101 −14Browse files

Showing the changes to include/uapi/linux (1 of 7 files). Show all

Unified · Split

include/uapi/linux/nl80211.h+6−0
@@ -4550,6 +4550,7 @@ enum nl80211_key_default_types { · 4549 unmodified lines
4550 * See &enum nl80211_key_default_types.4550 * See &enum nl80211_key_default_types.
4551 * @NL80211_KEY_MODE: the mode from enum nl80211_key_mode.4551 * @NL80211_KEY_MODE: the mode from enum nl80211_key_mode.
4552 * Defaults to @NL80211_KEY_RX_TX.4552 * Defaults to @NL80211_KEY_RX_TX.
4553 * @NL80211_KEY_DEFAULT_BEACON: flag indicating default Beacon frame key
4553 *4554 *
4554 * @__NL80211_KEY_AFTER_LAST: internal4555 * @__NL80211_KEY_AFTER_LAST: internal
4555 * @NL80211_KEY_MAX: highest key attribute4556 * @NL80211_KEY_MAX: highest key attribute
@@ -4565,6 +4566,7 @@ enum nl80211_key_attributes { · 9 unmodified lines
4565 NL80211_KEY_TYPE,4566 NL80211_KEY_TYPE,
4566 NL80211_KEY_DEFAULT_TYPES,4567 NL80211_KEY_DEFAULT_TYPES,
4567 NL80211_KEY_MODE,4568 NL80211_KEY_MODE,
4569 NL80211_KEY_DEFAULT_BEACON,
4568 4570
4569 /* keep last */4571 /* keep last */
4570 __NL80211_KEY_AFTER_LAST,4572 __NL80211_KEY_AFTER_LAST,
@@ -5539,6 +5541,9 @@ enum nl80211_feature_flags { · 968 unmodified lines
5539 * feature, which prevents bufferbloat by using the expected transmission5541 * feature, which prevents bufferbloat by using the expected transmission
5540 * time to limit the amount of data buffered in the hardware.5542 * time to limit the amount of data buffered in the hardware.
5541 *5543 *
5544 * @NL80211_EXT_FEATURE_BEACON_PROTECTION: The driver supports Beacon protection
5545 * and can receive key configuration for BIGTK using key indexes 6 and 7.
5546 *
5542 * @NUM_NL80211_EXT_FEATURES: number of extended features.5547 * @NUM_NL80211_EXT_FEATURES: number of extended features.
5543 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.5548 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
5544 */5549 */
@@ -5586,6 +5591,7 @@ enum nl80211_ext_feature_index { · 41 unmodified lines
5586 NL80211_EXT_FEATURE_SAE_OFFLOAD,5591 NL80211_EXT_FEATURE_SAE_OFFLOAD,
5587 NL80211_EXT_FEATURE_VLAN_OFFLOAD,5592 NL80211_EXT_FEATURE_VLAN_OFFLOAD,
5588 NL80211_EXT_FEATURE_AQL,5593 NL80211_EXT_FEATURE_AQL,
5594 NL80211_EXT_FEATURE_BEACON_PROTECTION,
5589 5595
5590 /* add new features before the definition below */5596 /* add new features before the definition below */
5591 NUM_NL80211_EXT_FEATURES,5597 NUM_NL80211_EXT_FEATURES,