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.
Showing the changes to include/uapi/linux (1 of 7 files). Show all
Unified · Split
| @@ -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: internal | 4555 | * @__NL80211_KEY_AFTER_LAST: internal |
| 4555 | * @NL80211_KEY_MAX: highest key attribute | 4556 | * @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 transmission | 5541 | * 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, |