802.11ay specification defines Enhanced Directional Multi-Gigabit (EDMG) STA and AP which allow channel bonding of 2 channels and more. Introduce new NL attributes that are needed for enabling and configuring EDMG support. Two new attributes are used by kernel to publish driver's EDMG capabilities to the userspace: NL80211_BAND_ATTR_EDMG_CHANNELS - bitmap field that indicates the 2.16 GHz channel(s) that are supported by the driver. When this attribute is not set it means driver does not support EDMG. NL80211_BAND_ATTR_EDMG_BW_CONFIG - represent the channel bandwidth configurations supported by the driver. Additional two new attributes are used by the userspace for connect command and for AP configuration: NL80211_ATTR_WIPHY_EDMG_CHANNELS NL80211_ATTR_WIPHY_EDMG_BW_CONFIG New rate info flag - RATE_INFO_FLAGS_EDMG, can be reported from driver and used for bitrate calculation that will take into account EDMG according to the 802.11ay specification.
Showing the changes to include/uapi/linux (1 of 8 files). Show all
Unified · Split
| @@ -52,6 +52,11 @@ · 51 unmodified lines | |||
| 52 | #define NL80211_MULTICAST_GROUP_NAN "nan" | 52 | #define NL80211_MULTICAST_GROUP_NAN "nan" |
| 53 | #define NL80211_MULTICAST_GROUP_TESTMODE "testmode" | 53 | #define NL80211_MULTICAST_GROUP_TESTMODE "testmode" |
| 54 | 54 | ||
| 55 | #define NL80211_EDMG_BW_CONFIG_MIN 4 | ||
| 56 | #define NL80211_EDMG_BW_CONFIG_MAX 15 | ||
| 57 | #define NL80211_EDMG_CHANNELS_MIN 1 | ||
| 58 | #define NL80211_EDMG_CHANNELS_MAX 0x3c /* 0b00111100 */ | ||
| 59 | |||
| 55 | /** | 60 | /** |
| 56 | * DOC: Station handling | 61 | * DOC: Station handling |
| 57 | * | 62 | * |
| @@ -2361,6 +2366,13 @@ enum nl80211_commands { · 2303 unmodified lines | |||
| 2361 | * @NL80211_ATTR_HE_OBSS_PD: nested attribute for OBSS Packet Detection | 2366 | * @NL80211_ATTR_HE_OBSS_PD: nested attribute for OBSS Packet Detection |
| 2362 | * functionality. | 2367 | * functionality. |
| 2363 | * | 2368 | * |
| 2369 | * @NL80211_ATTR_WIPHY_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz | ||
| 2370 | * channel(s) that are allowed to be used for EDMG transmissions. | ||
| 2371 | * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. (u8 attribute) | ||
| 2372 | * @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes | ||
| 2373 | * the allowed channel bandwidth configurations. (u8 attribute) | ||
| 2374 | * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13. | ||
| 2375 | * | ||
| 2364 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available | 2376 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2365 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 2377 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 2366 | * @__NL80211_ATTR_AFTER_LAST: internal use | 2378 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| @@ -2820,6 +2832,9 @@ enum nl80211_attrs { · 453 unmodified lines | |||
| 2820 | 2832 | ||
| 2821 | NL80211_ATTR_HE_OBSS_PD, | 2833 | NL80211_ATTR_HE_OBSS_PD, |
| 2822 | 2834 | ||
| 2835 | NL80211_ATTR_WIPHY_EDMG_CHANNELS, | ||
| 2836 | NL80211_ATTR_WIPHY_EDMG_BW_CONFIG, | ||
| 2837 | |||
| 2823 | /* add attributes here, update the policy in nl80211.c */ | 2838 | /* add attributes here, update the policy in nl80211.c */ |
| 2824 | 2839 | ||
| 2825 | __NL80211_ATTR_AFTER_LAST, | 2840 | __NL80211_ATTR_AFTER_LAST, |
| @@ -3431,6 +3446,12 @@ enum nl80211_band_iftype_attr { · 605 unmodified lines | |||
| 3431 | * @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE | 3446 | * @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE |
| 3432 | * @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using | 3447 | * @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using |
| 3433 | * attributes from &enum nl80211_band_iftype_attr | 3448 | * attributes from &enum nl80211_band_iftype_attr |
| 3449 | * @NL80211_BAND_ATTR_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz | ||
| 3450 | * channel(s) that are allowed to be used for EDMG transmissions. | ||
| 3451 | * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. | ||
| 3452 | * @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes | ||
| 3453 | * the allowed channel bandwidth configurations. | ||
| 3454 | * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13. | ||
| 3434 | * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined | 3455 | * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined |
| 3435 | * @__NL80211_BAND_ATTR_AFTER_LAST: internal use | 3456 | * @__NL80211_BAND_ATTR_AFTER_LAST: internal use |
| 3436 | */ | 3457 | */ |
| @@ -3448,6 +3469,9 @@ enum nl80211_band_attr { · 11 unmodified lines | |||
| 3448 | NL80211_BAND_ATTR_VHT_CAPA, | 3469 | NL80211_BAND_ATTR_VHT_CAPA, |
| 3449 | NL80211_BAND_ATTR_IFTYPE_DATA, | 3470 | NL80211_BAND_ATTR_IFTYPE_DATA, |
| 3450 | 3471 | ||
| 3472 | NL80211_BAND_ATTR_EDMG_CHANNELS, | ||
| 3473 | NL80211_BAND_ATTR_EDMG_BW_CONFIG, | ||
| 3474 | |||
| 3451 | /* keep last */ | 3475 | /* keep last */ |
| 3452 | __NL80211_BAND_ATTR_AFTER_LAST, | 3476 | __NL80211_BAND_ATTR_AFTER_LAST, |
| 3453 | NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1 | 3477 | NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1 |