This will serve userspace entity to maintain its regulatory limitation. More specifcally APs can use this data to calculate the WMM IE when building: beacons, probe responses, assoc responses etc...
Showing the changes to include/uapi/linux (1 of 2 files). Show all
Unified · Split
| @@ -11,6 +11,7 @@ · 10 unmodified lines | ||
| 11 | 11 | * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com> |
| 12 | 12 | * Copyright 2008 Colin McCabe <colin@cozybit.com> |
| 13 | 13 | * Copyright 2015-2017 Intel Deutschland GmbH |
| 14 | + * Copyright (C) 2018 Intel Corporation | |
| 14 | 15 | * |
| 15 | 16 | * Permission to use, copy, modify, and/or distribute this software for any |
| 16 | 17 | * purpose with or without fee is hereby granted, provided that the above |
| @@ -3141,6 +3142,29 @@ enum nl80211_band_attr { · 3124 unmodified lines | ||
| 3141 | 3142 | |
| 3142 | 3143 | #define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA |
| 3143 | 3144 | |
| 3145 | +/** | |
| 3146 | + * enum nl80211_wmm_rule - regulatory wmm rule | |
| 3147 | + * | |
| 3148 | + * @__NL80211_WMMR_INVALID: attribute number 0 is reserved | |
| 3149 | + * @NL80211_WMMR_CW_MIN: Minimum contention window slot. | |
| 3150 | + * @NL80211_WMMR_CW_MAX: Maximum contention window slot. | |
| 3151 | + * @NL80211_WMMR_AIFSN: Arbitration Inter Frame Space. | |
| 3152 | + * @NL80211_WMMR_TXOP: Maximum allowed tx operation time. | |
| 3153 | + * @nl80211_WMMR_MAX: highest possible wmm rule. | |
| 3154 | + * @__NL80211_WMMR_LAST: Internal use. | |
| 3155 | + */ | |
| 3156 | +enum nl80211_wmm_rule { | |
| 3157 | + __NL80211_WMMR_INVALID, | |
| 3158 | + NL80211_WMMR_CW_MIN, | |
| 3159 | + NL80211_WMMR_CW_MAX, | |
| 3160 | + NL80211_WMMR_AIFSN, | |
| 3161 | + NL80211_WMMR_TXOP, | |
| 3162 | + | |
| 3163 | + /* keep last */ | |
| 3164 | + __NL80211_WMMR_LAST, | |
| 3165 | + NL80211_WMMR_MAX = __NL80211_WMMR_LAST - 1 | |
| 3166 | +}; | |
| 3167 | + | |
| 3144 | 3168 | /** |
| 3145 | 3169 | * enum nl80211_frequency_attr - frequency attributes |
| 3146 | 3170 | * @__NL80211_FREQUENCY_ATTR_INVALID: attribute number 0 is reserved |
| @@ -3190,6 +3214,9 @@ enum nl80211_band_attr { · 43 unmodified lines | ||
| 3190 | 3214 | * on this channel in current regulatory domain. |
| 3191 | 3215 | * @NL80211_FREQUENCY_ATTR_NO_10MHZ: 10 MHz operation is not allowed |
| 3192 | 3216 | * on this channel in current regulatory domain. |
| 3217 | + * @NL80211_FREQUENCY_ATTR_WMM: this channel has wmm limitations. | |
| 3218 | + * This is a nested attribute that contains the wmm limitation per AC. | |
| 3219 | + * (see &enum nl80211_wmm_rule) | |
| 3193 | 3220 | * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number |
| 3194 | 3221 | * currently defined |
| 3195 | 3222 | * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use |
| @@ -3218,6 +3245,7 @@ enum nl80211_frequency_attr { · 22 unmodified lines | ||
| 3218 | 3245 | NL80211_FREQUENCY_ATTR_IR_CONCURRENT, |
| 3219 | 3246 | NL80211_FREQUENCY_ATTR_NO_20MHZ, |
| 3220 | 3247 | NL80211_FREQUENCY_ATTR_NO_10MHZ, |
| 3248 | + NL80211_FREQUENCY_ATTR_WMM, | |
| 3221 | 3249 | |
| 3222 | 3250 | /* keep last */ |
| 3223 | 3251 | __NL80211_FREQUENCY_ATTR_AFTER_LAST, |