developer | 66e89bc | 2024-04-23 14:50:01 +0800 | [diff] [blame] | 1 | From ac7e46b2aaf800ff0bd1339be814754b79eed568 Mon Sep 17 00:00:00 2001 |
| 2 | From: Johannes Berg <johannes.berg@intel.com> |
| 3 | Date: Thu, 21 Dec 2023 12:47:01 +0100 |
| 4 | Subject: [PATCH 24/28] update nl80211.h |
| 5 | |
| 6 | Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| 7 | --- |
| 8 | info.c | 2 + |
| 9 | nl80211.h | 199 ++++++++++++++++++++++++++++++++++++++++-------------- |
| 10 | 2 files changed, 149 insertions(+), 52 deletions(-) |
| 11 | |
| 12 | diff --git a/info.c b/info.c |
| 13 | index 4c5f463..317e7a3 100644 |
| 14 | --- a/info.c |
| 15 | +++ b/info.c |
| 16 | @@ -170,6 +170,8 @@ static void ext_feat_print(enum nl80211_ext_feature_index idx) |
| 17 | ext_feat_case(PUNCT, "preamble puncturing in AP mode"); |
| 18 | ext_feat_case(SECURE_NAN, "secure NAN support"); |
| 19 | ext_feat_case(AUTH_AND_DEAUTH_RANDOM_TA, "random auth/deauth transmitter address"); |
| 20 | + ext_feat_case(OWE_OFFLOAD, "OWE DH element handling offload (client)"); |
| 21 | + ext_feat_case(OWE_OFFLOAD_AP, "OWE DH element handling offload (AP)"); |
| 22 | } |
| 23 | } |
| 24 | |
| 25 | diff --git a/nl80211.h b/nl80211.h |
| 26 | index 88eb85c..a682b54 100644 |
| 27 | --- a/nl80211.h |
| 28 | +++ b/nl80211.h |
| 29 | @@ -72,7 +72,7 @@ |
| 30 | * For drivers supporting TDLS with external setup (WIPHY_FLAG_SUPPORTS_TDLS |
| 31 | * and WIPHY_FLAG_TDLS_EXTERNAL_SETUP), the station lifetime is as follows: |
| 32 | * - a setup station entry is added, not yet authorized, without any rate |
| 33 | - * or capability information, this just exists to avoid race conditions |
| 34 | + * or capability information; this just exists to avoid race conditions |
| 35 | * - when the TDLS setup is done, a single NL80211_CMD_SET_STATION is valid |
| 36 | * to add rate and capability information to the station and at the same |
| 37 | * time mark it authorized. |
| 38 | @@ -87,7 +87,7 @@ |
| 39 | * DOC: Frame transmission/registration support |
| 40 | * |
| 41 | * Frame transmission and registration support exists to allow userspace |
| 42 | - * management entities such as wpa_supplicant react to management frames |
| 43 | + * management entities such as wpa_supplicant to react to management frames |
| 44 | * that are not being handled by the kernel. This includes, for example, |
| 45 | * certain classes of action frames that cannot be handled in the kernel |
| 46 | * for various reasons. |
| 47 | @@ -113,7 +113,7 @@ |
| 48 | * |
| 49 | * Frame transmission allows userspace to send for example the required |
| 50 | * responses to action frames. It is subject to some sanity checking, |
| 51 | - * but many frames can be transmitted. When a frame was transmitted, its |
| 52 | + * but many frames can be transmitted. When a frame is transmitted, its |
| 53 | * status is indicated to the sending socket. |
| 54 | * |
| 55 | * For more technical details, see the corresponding command descriptions |
| 56 | @@ -123,7 +123,7 @@ |
| 57 | /** |
| 58 | * DOC: Virtual interface / concurrency capabilities |
| 59 | * |
| 60 | - * Some devices are able to operate with virtual MACs, they can have |
| 61 | + * Some devices are able to operate with virtual MACs; they can have |
| 62 | * more than one virtual interface. The capability handling for this |
| 63 | * is a bit complex though, as there may be a number of restrictions |
| 64 | * on the types of concurrency that are supported. |
| 65 | @@ -135,7 +135,7 @@ |
| 66 | * Once concurrency is desired, more attributes must be observed: |
| 67 | * To start with, since some interface types are purely managed in |
| 68 | * software, like the AP-VLAN type in mac80211 for example, there's |
| 69 | - * an additional list of these, they can be added at any time and |
| 70 | + * an additional list of these; they can be added at any time and |
| 71 | * are only restricted by some semantic restrictions (e.g. AP-VLAN |
| 72 | * cannot be added without a corresponding AP interface). This list |
| 73 | * is exported in the %NL80211_ATTR_SOFTWARE_IFTYPES attribute. |
| 74 | @@ -164,17 +164,17 @@ |
| 75 | * Packet coalesce feature helps to reduce number of received interrupts |
| 76 | * to host by buffering these packets in firmware/hardware for some |
| 77 | * predefined time. Received interrupt will be generated when one of the |
| 78 | - * following events occur. |
| 79 | + * following events occurs. |
| 80 | * a) Expiration of hardware timer whose expiration time is set to maximum |
| 81 | * coalescing delay of matching coalesce rule. |
| 82 | - * b) Coalescing buffer in hardware reaches it's limit. |
| 83 | + * b) Coalescing buffer in hardware reaches its limit. |
| 84 | * c) Packet doesn't match any of the configured coalesce rules. |
| 85 | * |
| 86 | * User needs to configure following parameters for creating a coalesce |
| 87 | * rule. |
| 88 | * a) Maximum coalescing delay |
| 89 | * b) List of packet patterns which needs to be matched |
| 90 | - * c) Condition for coalescence. pattern 'match' or 'no match' |
| 91 | + * c) Condition for coalescence: pattern 'match' or 'no match' |
| 92 | * Multiple such rules can be created. |
| 93 | */ |
| 94 | |
| 95 | @@ -213,7 +213,7 @@ |
| 96 | /** |
| 97 | * DOC: FILS shared key authentication offload |
| 98 | * |
| 99 | - * FILS shared key authentication offload can be advertized by drivers by |
| 100 | + * FILS shared key authentication offload can be advertised by drivers by |
| 101 | * setting @NL80211_EXT_FEATURE_FILS_SK_OFFLOAD flag. The drivers that support |
| 102 | * FILS shared key authentication offload should be able to construct the |
| 103 | * authentication and association frames for FILS shared key authentication and |
| 104 | @@ -239,7 +239,7 @@ |
| 105 | * The PMKSA can be maintained in userspace persistently so that it can be used |
| 106 | * later after reboots or wifi turn off/on also. |
| 107 | * |
| 108 | - * %NL80211_ATTR_FILS_CACHE_ID is the cache identifier advertized by a FILS |
| 109 | + * %NL80211_ATTR_FILS_CACHE_ID is the cache identifier advertised by a FILS |
| 110 | * capable AP supporting PMK caching. It specifies the scope within which the |
| 111 | * PMKSAs are cached in an ESS. %NL80211_CMD_SET_PMKSA and |
| 112 | * %NL80211_CMD_DEL_PMKSA are enhanced to allow support for PMKSA caching based |
| 113 | @@ -290,12 +290,12 @@ |
| 114 | * If the configuration needs to be applied for specific peer then the MAC |
| 115 | * address of the peer needs to be passed in %NL80211_ATTR_MAC, otherwise the |
| 116 | * configuration will be applied for all the connected peers in the vif except |
| 117 | - * any peers that have peer specific configuration for the TID by default; if |
| 118 | - * the %NL80211_TID_CONFIG_ATTR_OVERRIDE flag is set, peer specific values |
| 119 | + * any peers that have peer-specific configuration for the TID by default; if |
| 120 | + * the %NL80211_TID_CONFIG_ATTR_OVERRIDE flag is set, peer-specific values |
| 121 | * will be overwritten. |
| 122 | * |
| 123 | - * All this configuration is valid only for STA's current connection |
| 124 | - * i.e. the configuration will be reset to default when the STA connects back |
| 125 | + * All this configuration is valid only for STA's current connection, |
| 126 | + * i.e., the configuration will be reset to default when the STA connects back |
| 127 | * after disconnection/roaming, and this configuration will be cleared when |
| 128 | * the interface goes down. |
| 129 | */ |
| 130 | @@ -326,7 +326,7 @@ |
| 131 | /** |
| 132 | * DOC: Multi-Link Operation |
| 133 | * |
| 134 | - * In Multi-Link Operation, a connection between to MLDs utilizes multiple |
| 135 | + * In Multi-Link Operation, a connection between two MLDs utilizes multiple |
| 136 | * links. To use this in nl80211, various commands and responses now need |
| 137 | * to or will include the new %NL80211_ATTR_MLO_LINKS attribute. |
| 138 | * Additionally, various commands that need to operate on a specific link |
| 139 | @@ -334,6 +334,15 @@ |
| 140 | * use %NL80211_CMD_START_AP or similar functions. |
| 141 | */ |
| 142 | |
| 143 | +/** |
| 144 | + * DOC: OWE DH IE handling offload |
| 145 | + * |
| 146 | + * By setting @NL80211_EXT_FEATURE_OWE_OFFLOAD flag, drivers can indicate |
| 147 | + * kernel/application space to avoid DH IE handling. When this flag is |
| 148 | + * advertised, the driver/device will take care of DH IE inclusion and |
| 149 | + * processing of peer DH IE to generate PMK. |
| 150 | + */ |
| 151 | + |
| 152 | /** |
| 153 | * enum nl80211_commands - supported nl80211 commands |
| 154 | * |
| 155 | @@ -512,7 +521,7 @@ |
| 156 | * %NL80211_ATTR_SCHED_SCAN_PLANS. If %NL80211_ATTR_SCHED_SCAN_PLANS is |
| 157 | * not specified and only %NL80211_ATTR_SCHED_SCAN_INTERVAL is specified, |
| 158 | * scheduled scan will run in an infinite loop with the specified interval. |
| 159 | - * These attributes are mutually exculsive, |
| 160 | + * These attributes are mutually exclusive, |
| 161 | * i.e. NL80211_ATTR_SCHED_SCAN_INTERVAL must not be passed if |
| 162 | * NL80211_ATTR_SCHED_SCAN_PLANS is defined. |
| 163 | * If for some reason scheduled scan is aborted by the driver, all scan |
| 164 | @@ -543,7 +552,7 @@ |
| 165 | * %NL80211_CMD_STOP_SCHED_SCAN command is received or when the interface |
| 166 | * is brought down while a scheduled scan was running. |
| 167 | * |
| 168 | - * @NL80211_CMD_GET_SURVEY: get survey resuls, e.g. channel occupation |
| 169 | + * @NL80211_CMD_GET_SURVEY: get survey results, e.g. channel occupation |
| 170 | * or noise level |
| 171 | * @NL80211_CMD_NEW_SURVEY_RESULTS: survey data notification (as a reply to |
| 172 | * NL80211_CMD_GET_SURVEY and on the "scan" multicast group) |
| 173 | @@ -554,12 +563,13 @@ |
| 174 | * using %NL80211_ATTR_SSID, %NL80211_ATTR_FILS_CACHE_ID, |
| 175 | * %NL80211_ATTR_PMKID, and %NL80211_ATTR_PMK in case of FILS |
| 176 | * authentication where %NL80211_ATTR_FILS_CACHE_ID is the identifier |
| 177 | - * advertized by a FILS capable AP identifying the scope of PMKSA in an |
| 178 | + * advertised by a FILS capable AP identifying the scope of PMKSA in an |
| 179 | * ESS. |
| 180 | * @NL80211_CMD_DEL_PMKSA: Delete a PMKSA cache entry, using %NL80211_ATTR_MAC |
| 181 | * (for the BSSID) and %NL80211_ATTR_PMKID or using %NL80211_ATTR_SSID, |
| 182 | * %NL80211_ATTR_FILS_CACHE_ID, and %NL80211_ATTR_PMKID in case of FILS |
| 183 | - * authentication. |
| 184 | + * authentication. Additionally in case of SAE offload and OWE offloads |
| 185 | + * PMKSA entry can be deleted using %NL80211_ATTR_SSID. |
| 186 | * @NL80211_CMD_FLUSH_PMKSA: Flush all PMKSA cache entries. |
| 187 | * |
| 188 | * @NL80211_CMD_REG_CHANGE: indicates to userspace the regulatory domain |
| 189 | @@ -598,7 +608,7 @@ |
| 190 | * BSSID in case of station mode). %NL80211_ATTR_SSID is used to specify |
| 191 | * the SSID (mainly for association, but is included in authentication |
| 192 | * request, too, to help BSS selection. %NL80211_ATTR_WIPHY_FREQ + |
| 193 | - * %NL80211_ATTR_WIPHY_FREQ_OFFSET is used to specify the frequence of the |
| 194 | + * %NL80211_ATTR_WIPHY_FREQ_OFFSET is used to specify the frequency of the |
| 195 | * channel in MHz. %NL80211_ATTR_AUTH_TYPE is used to specify the |
| 196 | * authentication type. %NL80211_ATTR_IE is used to define IEs |
| 197 | * (VendorSpecificInfo, but also including RSN IE and FT IEs) to be added |
| 198 | @@ -807,7 +817,7 @@ |
| 199 | * reached. |
| 200 | * @NL80211_CMD_SET_CHANNEL: Set the channel (using %NL80211_ATTR_WIPHY_FREQ |
| 201 | * and the attributes determining channel width) the given interface |
| 202 | - * (identifed by %NL80211_ATTR_IFINDEX) shall operate on. |
| 203 | + * (identified by %NL80211_ATTR_IFINDEX) shall operate on. |
| 204 | * In case multiple channels are supported by the device, the mechanism |
| 205 | * with which it switches channels is implementation-defined. |
| 206 | * When a monitor interface is given, it can only switch channel while |
| 207 | @@ -879,7 +889,7 @@ |
| 208 | * inform userspace of the new replay counter. |
| 209 | * |
| 210 | * @NL80211_CMD_PMKSA_CANDIDATE: This is used as an event to inform userspace |
| 211 | - * of PMKSA caching dandidates. |
| 212 | + * of PMKSA caching candidates. |
| 213 | * |
| 214 | * @NL80211_CMD_TDLS_OPER: Perform a high-level TDLS command (e.g. link setup). |
| 215 | * In addition, this can be used as an event to request userspace to take |
| 216 | @@ -915,7 +925,7 @@ |
| 217 | * |
| 218 | * @NL80211_CMD_PROBE_CLIENT: Probe an associated station on an AP interface |
| 219 | * by sending a null data frame to it and reporting when the frame is |
| 220 | - * acknowleged. This is used to allow timing out inactive clients. Uses |
| 221 | + * acknowledged. This is used to allow timing out inactive clients. Uses |
| 222 | * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_MAC. The command returns a |
| 223 | * direct reply with an %NL80211_ATTR_COOKIE that is later used to match |
| 224 | * up the event with the request. The event includes the same data and |
| 225 | @@ -1126,11 +1136,15 @@ |
| 226 | * @NL80211_CMD_DEL_PMK: For offloaded 4-Way handshake, delete the previously |
| 227 | * configured PMK for the authenticator address identified by |
| 228 | * %NL80211_ATTR_MAC. |
| 229 | - * @NL80211_CMD_PORT_AUTHORIZED: An event that indicates an 802.1X FT roam was |
| 230 | - * completed successfully. Drivers that support 4 way handshake offload |
| 231 | - * should send this event after indicating 802.1X FT assocation with |
| 232 | - * %NL80211_CMD_ROAM. If the 4 way handshake failed %NL80211_CMD_DISCONNECT |
| 233 | - * should be indicated instead. |
| 234 | + * @NL80211_CMD_PORT_AUTHORIZED: An event that indicates port is authorized and |
| 235 | + * open for regular data traffic. For STA/P2P-client, this event is sent |
| 236 | + * with AP MAC address and for AP/P2P-GO, the event carries the STA/P2P- |
| 237 | + * client MAC address. |
| 238 | + * Drivers that support 4 way handshake offload should send this event for |
| 239 | + * STA/P2P-client after successful 4-way HS or after 802.1X FT following |
| 240 | + * NL80211_CMD_CONNECT or NL80211_CMD_ROAM. Drivers using AP/P2P-GO 4-way |
| 241 | + * handshake offload should send this event on successful completion of |
| 242 | + * 4-way handshake with the peer (STA/P2P-client). |
| 243 | * @NL80211_CMD_CONTROL_PORT_FRAME: Control Port (e.g. PAE) frame TX request |
| 244 | * and RX notification. This command is used both as a request to transmit |
| 245 | * a control port frame and as a notification that a control port frame |
| 246 | @@ -1314,6 +1328,11 @@ |
| 247 | * Multi-Link reconfiguration. %NL80211_ATTR_MLO_LINKS is used to provide |
| 248 | * information about the removed STA MLD setup links. |
| 249 | * |
| 250 | + * @NL80211_CMD_SET_TID_TO_LINK_MAPPING: Set the TID to Link Mapping for a |
| 251 | + * non-AP MLD station. The %NL80211_ATTR_MLO_TTLM_DLINK and |
| 252 | + * %NL80211_ATTR_MLO_TTLM_ULINK attributes are used to specify the |
| 253 | + * TID to Link mapping for downlink/uplink traffic. |
| 254 | + * |
| 255 | * @NL80211_CMD_MAX: highest used command number |
| 256 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 257 | */ |
| 258 | @@ -1569,6 +1588,8 @@ enum nl80211_commands { |
| 259 | |
| 260 | NL80211_CMD_LINKS_REMOVED, |
| 261 | |
| 262 | + NL80211_CMD_SET_TID_TO_LINK_MAPPING, |
| 263 | + |
| 264 | /* add new commands above here */ |
| 265 | |
| 266 | /* used to define NL80211_CMD_MAX below */ |
| 267 | @@ -1826,7 +1847,7 @@ enum nl80211_commands { |
| 268 | * using %CMD_CONTROL_PORT_FRAME. If control port routing over NL80211 is |
| 269 | * to be used then userspace must also use the %NL80211_ATTR_SOCKET_OWNER |
| 270 | * flag. When used with %NL80211_ATTR_CONTROL_PORT_NO_PREAUTH, pre-auth |
| 271 | - * frames are not forwared over the control port. |
| 272 | + * frames are not forwarded over the control port. |
| 273 | * |
| 274 | * @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver. |
| 275 | * We recommend using nested, driver-specific attributes within this. |
| 276 | @@ -1963,10 +1984,10 @@ enum nl80211_commands { |
| 277 | * bit. Depending on which antennas are selected in the bitmap, 802.11n |
| 278 | * drivers can derive which chainmasks to use (if all antennas belonging to |
| 279 | * a particular chain are disabled this chain should be disabled) and if |
| 280 | - * a chain has diversity antennas wether diversity should be used or not. |
| 281 | + * a chain has diversity antennas whether diversity should be used or not. |
| 282 | * HT capabilities (STBC, TX Beamforming, Antenna selection) can be |
| 283 | * derived from the available chains after applying the antenna mask. |
| 284 | - * Non-802.11n drivers can derive wether to use diversity or not. |
| 285 | + * Non-802.11n drivers can derive whether to use diversity or not. |
| 286 | * Drivers may reject configurations or RX/TX mask combinations they cannot |
| 287 | * support by returning -EINVAL. |
| 288 | * |
| 289 | @@ -2536,7 +2557,7 @@ enum nl80211_commands { |
| 290 | * from successful FILS authentication and is used with |
| 291 | * %NL80211_CMD_CONNECT. |
| 292 | * |
| 293 | - * @NL80211_ATTR_FILS_CACHE_ID: A 2-octet identifier advertized by a FILS AP |
| 294 | + * @NL80211_ATTR_FILS_CACHE_ID: A 2-octet identifier advertised by a FILS AP |
| 295 | * identifying the scope of PMKSAs. This is used with |
| 296 | * @NL80211_CMD_SET_PMKSA and @NL80211_CMD_DEL_PMKSA. |
| 297 | * |
| 298 | @@ -2690,11 +2711,13 @@ enum nl80211_commands { |
| 299 | * |
| 300 | * @NL80211_ATTR_FILS_DISCOVERY: Optional parameter to configure FILS |
| 301 | * discovery. It is a nested attribute, see |
| 302 | - * &enum nl80211_fils_discovery_attributes. |
| 303 | + * &enum nl80211_fils_discovery_attributes. Userspace should pass an empty |
| 304 | + * nested attribute to disable this feature and delete the templates. |
| 305 | * |
| 306 | * @NL80211_ATTR_UNSOL_BCAST_PROBE_RESP: Optional parameter to configure |
| 307 | * unsolicited broadcast probe response. It is a nested attribute, see |
| 308 | - * &enum nl80211_unsol_bcast_probe_resp_attributes. |
| 309 | + * &enum nl80211_unsol_bcast_probe_resp_attributes. Userspace should pass an empty |
| 310 | + * nested attribute to disable this feature and delete the templates. |
| 311 | * |
| 312 | * @NL80211_ATTR_S1G_CAPABILITY: S1G Capability information element (from |
| 313 | * association request when used with NL80211_CMD_NEW_STATION) |
| 314 | @@ -2815,6 +2838,19 @@ enum nl80211_commands { |
| 315 | * @NL80211_ATTR_MLO_LINK_DISABLED: Flag attribute indicating that the link is |
| 316 | * disabled. |
| 317 | * |
| 318 | + * @NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA: Include BSS usage data, i.e. |
| 319 | + * include BSSes that can only be used in restricted scenarios and/or |
| 320 | + * cannot be used at all. |
| 321 | + * |
| 322 | + * @NL80211_ATTR_MLO_TTLM_DLINK: Binary attribute specifying the downlink TID to |
| 323 | + * link mapping. The length is 8 * sizeof(u16). For each TID the link |
| 324 | + * mapping is as defined in section 9.4.2.314 (TID-To-Link Mapping element) |
| 325 | + * in Draft P802.11be_D4.0. |
| 326 | + * @NL80211_ATTR_MLO_TTLM_ULINK: Binary attribute specifying the uplink TID to |
| 327 | + * link mapping. The length is 8 * sizeof(u16). For each TID the link |
| 328 | + * mapping is as defined in section 9.4.2.314 (TID-To-Link Mapping element) |
| 329 | + * in Draft P802.11be_D4.0. |
| 330 | + * |
| 331 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 332 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 333 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| 334 | @@ -3353,6 +3389,11 @@ enum nl80211_attrs { |
| 335 | |
| 336 | NL80211_ATTR_MLO_LINK_DISABLED, |
| 337 | |
| 338 | + NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA, |
| 339 | + |
| 340 | + NL80211_ATTR_MLO_TTLM_DLINK, |
| 341 | + NL80211_ATTR_MLO_TTLM_ULINK, |
| 342 | + |
| 343 | /* add attributes here, update the policy in nl80211.c */ |
| 344 | |
| 345 | __NL80211_ATTR_AFTER_LAST, |
| 346 | @@ -4159,7 +4200,7 @@ enum nl80211_wmm_rule { |
| 347 | * (100 * dBm). |
| 348 | * @NL80211_FREQUENCY_ATTR_DFS_STATE: current state for DFS |
| 349 | * (enum nl80211_dfs_state) |
| 350 | - * @NL80211_FREQUENCY_ATTR_DFS_TIME: time in miliseconds for how long |
| 351 | + * @NL80211_FREQUENCY_ATTR_DFS_TIME: time in milliseconds for how long |
| 352 | * this channel is in this DFS state. |
| 353 | * @NL80211_FREQUENCY_ATTR_NO_HT40_MINUS: HT40- isn't possible with this |
| 354 | * channel as the control channel |
| 355 | @@ -4213,6 +4254,8 @@ enum nl80211_wmm_rule { |
| 356 | * as the primary or any of the secondary channels isn't possible |
| 357 | * @NL80211_FREQUENCY_ATTR_NO_EHT: EHT operation is not allowed on this channel |
| 358 | * in current regulatory domain. |
| 359 | + * @NL80211_FREQUENCY_ATTR_PSD: Power spectral density (in dBm) that |
| 360 | + * is allowed on this channel in current regulatory domain. |
| 361 | * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number |
| 362 | * currently defined |
| 363 | * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use |
| 364 | @@ -4251,6 +4294,7 @@ enum nl80211_frequency_attr { |
| 365 | NL80211_FREQUENCY_ATTR_16MHZ, |
| 366 | NL80211_FREQUENCY_ATTR_NO_320MHZ, |
| 367 | NL80211_FREQUENCY_ATTR_NO_EHT, |
| 368 | + NL80211_FREQUENCY_ATTR_PSD, |
| 369 | |
| 370 | /* keep last */ |
| 371 | __NL80211_FREQUENCY_ATTR_AFTER_LAST, |
| 372 | @@ -4351,6 +4395,8 @@ enum nl80211_reg_type { |
| 373 | * a given frequency range. The value is in mBm (100 * dBm). |
| 374 | * @NL80211_ATTR_DFS_CAC_TIME: DFS CAC time in milliseconds. |
| 375 | * If not present or 0 default CAC time will be used. |
| 376 | + * @NL80211_ATTR_POWER_RULE_PSD: power spectral density (in dBm). |
| 377 | + * This could be negative. |
| 378 | * @NL80211_REG_RULE_ATTR_MAX: highest regulatory rule attribute number |
| 379 | * currently defined |
| 380 | * @__NL80211_REG_RULE_ATTR_AFTER_LAST: internal use |
| 381 | @@ -4368,6 +4414,8 @@ enum nl80211_reg_rule_attr { |
| 382 | |
| 383 | NL80211_ATTR_DFS_CAC_TIME, |
| 384 | |
| 385 | + NL80211_ATTR_POWER_RULE_PSD, |
| 386 | + |
| 387 | /* keep last */ |
| 388 | __NL80211_REG_RULE_ATTR_AFTER_LAST, |
| 389 | NL80211_REG_RULE_ATTR_MAX = __NL80211_REG_RULE_ATTR_AFTER_LAST - 1 |
| 390 | @@ -4451,6 +4499,7 @@ enum nl80211_sched_scan_match_attr { |
| 391 | * @NL80211_RRF_NO_HE: HE operation not allowed |
| 392 | * @NL80211_RRF_NO_320MHZ: 320MHz operation not allowed |
| 393 | * @NL80211_RRF_NO_EHT: EHT operation not allowed |
| 394 | + * @NL80211_RRF_PSD: Ruleset has power spectral density value |
| 395 | */ |
| 396 | enum nl80211_reg_rule_flags { |
| 397 | NL80211_RRF_NO_OFDM = 1<<0, |
| 398 | @@ -4471,6 +4520,7 @@ enum nl80211_reg_rule_flags { |
| 399 | NL80211_RRF_NO_HE = 1<<17, |
| 400 | NL80211_RRF_NO_320MHZ = 1<<18, |
| 401 | NL80211_RRF_NO_EHT = 1<<19, |
| 402 | + NL80211_RRF_PSD = 1<<20, |
| 403 | }; |
| 404 | |
| 405 | #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR |
| 406 | @@ -5007,6 +5057,30 @@ enum nl80211_bss_scan_width { |
| 407 | NL80211_BSS_CHAN_WIDTH_2, |
| 408 | }; |
| 409 | |
| 410 | +/** |
| 411 | + * enum nl80211_bss_use_for - bitmap indicating possible BSS use |
| 412 | + * @NL80211_BSS_USE_FOR_NORMAL: Use this BSS for normal "connection", |
| 413 | + * including IBSS/MBSS depending on the type. |
| 414 | + * @NL80211_BSS_USE_FOR_MLD_LINK: This BSS can be used as a link in an |
| 415 | + * MLO connection. Note that for an MLO connection, all links including |
| 416 | + * the assoc link must have this flag set, and the assoc link must |
| 417 | + * additionally have %NL80211_BSS_USE_FOR_NORMAL set. |
| 418 | + */ |
| 419 | +enum nl80211_bss_use_for { |
| 420 | + NL80211_BSS_USE_FOR_NORMAL = 1 << 0, |
| 421 | + NL80211_BSS_USE_FOR_MLD_LINK = 1 << 1, |
| 422 | +}; |
| 423 | + |
| 424 | +/** |
| 425 | + * enum nl80211_bss_cannot_use_reasons - reason(s) connection to a |
| 426 | + * BSS isn't possible |
| 427 | + * @NL80211_BSS_CANNOT_USE_NSTR_NONPRIMARY: NSTR nonprimary links aren't |
| 428 | + * supported by the device, and this BSS entry represents one. |
| 429 | + */ |
| 430 | +enum nl80211_bss_cannot_use_reasons { |
| 431 | + NL80211_BSS_CANNOT_USE_NSTR_NONPRIMARY = 1 << 0, |
| 432 | +}; |
| 433 | + |
| 434 | /** |
| 435 | * enum nl80211_bss - netlink attributes for a BSS |
| 436 | * |
| 437 | @@ -5038,7 +5112,7 @@ enum nl80211_bss_scan_width { |
| 438 | * elements from a Beacon frame (bin); not present if no Beacon frame has |
| 439 | * yet been received |
| 440 | * @NL80211_BSS_CHAN_WIDTH: channel width of the control channel |
| 441 | - * (u32, enum nl80211_bss_scan_width) |
| 442 | + * (u32, enum nl80211_bss_scan_width) - No longer used! |
| 443 | * @NL80211_BSS_BEACON_TSF: TSF of the last received beacon (u64) |
| 444 | * (not present if no beacon frame has been received yet) |
| 445 | * @NL80211_BSS_PRESP_DATA: the data in @NL80211_BSS_INFORMATION_ELEMENTS and |
| 446 | @@ -5059,6 +5133,14 @@ enum nl80211_bss_scan_width { |
| 447 | * @NL80211_BSS_FREQUENCY_OFFSET: frequency offset in KHz |
| 448 | * @NL80211_BSS_MLO_LINK_ID: MLO link ID of the BSS (u8). |
| 449 | * @NL80211_BSS_MLD_ADDR: MLD address of this BSS if connected to it. |
| 450 | + * @NL80211_BSS_USE_FOR: u32 bitmap attribute indicating what the BSS can be |
| 451 | + * used for, see &enum nl80211_bss_use_for. |
| 452 | + * @NL80211_BSS_CANNOT_USE_REASONS: Indicates the reason that this BSS cannot |
| 453 | + * be used for all or some of the possible uses by the device reporting it, |
| 454 | + * even though its presence was detected. |
| 455 | + * This is a u64 attribute containing a bitmap of values from |
| 456 | + * &enum nl80211_cannot_use_reasons, note that the attribute may be missing |
| 457 | + * if no reasons are specified. |
| 458 | * @__NL80211_BSS_AFTER_LAST: internal |
| 459 | * @NL80211_BSS_MAX: highest BSS attribute |
| 460 | */ |
| 461 | @@ -5086,6 +5168,8 @@ enum nl80211_bss { |
| 462 | NL80211_BSS_FREQUENCY_OFFSET, |
| 463 | NL80211_BSS_MLO_LINK_ID, |
| 464 | NL80211_BSS_MLD_ADDR, |
| 465 | + NL80211_BSS_USE_FOR, |
| 466 | + NL80211_BSS_CANNOT_USE_REASONS, |
| 467 | |
| 468 | /* keep last */ |
| 469 | __NL80211_BSS_AFTER_LAST, |
| 470 | @@ -5434,7 +5518,7 @@ enum nl80211_tx_rate_setting { |
| 471 | * (%NL80211_TID_CONFIG_ATTR_TIDS, %NL80211_TID_CONFIG_ATTR_OVERRIDE). |
| 472 | * @NL80211_TID_CONFIG_ATTR_PEER_SUPP: same as the previous per-vif one, but |
| 473 | * per peer instead. |
| 474 | - * @NL80211_TID_CONFIG_ATTR_OVERRIDE: flag attribue, if set indicates |
| 475 | + * @NL80211_TID_CONFIG_ATTR_OVERRIDE: flag attribute, if set indicates |
| 476 | * that the new configuration overrides all previous peer |
| 477 | * configurations, otherwise previous peer specific configurations |
| 478 | * should be left untouched. |
| 479 | @@ -5817,7 +5901,7 @@ enum nl80211_attr_coalesce_rule { |
| 480 | |
| 481 | /** |
| 482 | * enum nl80211_coalesce_condition - coalesce rule conditions |
| 483 | - * @NL80211_COALESCE_CONDITION_MATCH: coalaesce Rx packets when patterns |
| 484 | + * @NL80211_COALESCE_CONDITION_MATCH: coalesce Rx packets when patterns |
| 485 | * in a rule are matched. |
| 486 | * @NL80211_COALESCE_CONDITION_NO_MATCH: coalesce Rx packets when patterns |
| 487 | * in a rule are not matched. |
| 488 | @@ -5916,7 +6000,7 @@ enum nl80211_if_combination_attrs { |
| 489 | * enum nl80211_plink_state - state of a mesh peer link finite state machine |
| 490 | * |
| 491 | * @NL80211_PLINK_LISTEN: initial state, considered the implicit |
| 492 | - * state of non existent mesh peer links |
| 493 | + * state of non-existent mesh peer links |
| 494 | * @NL80211_PLINK_OPN_SNT: mesh plink open frame has been sent to |
| 495 | * this mesh peer |
| 496 | * @NL80211_PLINK_OPN_RCVD: mesh plink open frame has been received |
| 497 | @@ -6209,7 +6293,7 @@ enum nl80211_feature_flags { |
| 498 | * request to use RRM (see %NL80211_ATTR_USE_RRM) with |
| 499 | * %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests, which will set |
| 500 | * the ASSOC_REQ_USE_RRM flag in the association request even if |
| 501 | - * NL80211_FEATURE_QUIET is not advertized. |
| 502 | + * NL80211_FEATURE_QUIET is not advertised. |
| 503 | * @NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER: This device supports MU-MIMO air |
| 504 | * sniffer which means that it can be configured to hear packets from |
| 505 | * certain groups which can be configured by the |
| 506 | @@ -6221,13 +6305,15 @@ enum nl80211_feature_flags { |
| 507 | * the BSS that the interface that requested the scan is connected to |
| 508 | * (if available). |
| 509 | * @NL80211_EXT_FEATURE_BSS_PARENT_TSF: Per BSS, this driver reports the |
| 510 | - * time the last beacon/probe was received. The time is the TSF of the |
| 511 | - * BSS that the interface that requested the scan is connected to |
| 512 | - * (if available). |
| 513 | + * time the last beacon/probe was received. For a non-MLO connection, the |
| 514 | + * time is the TSF of the BSS that the interface that requested the scan is |
| 515 | + * connected to (if available). For an MLO connection, the time is the TSF |
| 516 | + * of the BSS corresponding with link ID specified in the scan request (if |
| 517 | + * specified). |
| 518 | * @NL80211_EXT_FEATURE_SET_SCAN_DWELL: This driver supports configuration of |
| 519 | * channel dwell time. |
| 520 | * @NL80211_EXT_FEATURE_BEACON_RATE_LEGACY: Driver supports beacon rate |
| 521 | - * configuration (AP/mesh), supporting a legacy (non HT/VHT) rate. |
| 522 | + * configuration (AP/mesh), supporting a legacy (non-HT/VHT) rate. |
| 523 | * @NL80211_EXT_FEATURE_BEACON_RATE_HT: Driver supports beacon rate |
| 524 | * configuration (AP/mesh) with HT rates. |
| 525 | * @NL80211_EXT_FEATURE_BEACON_RATE_VHT: Driver supports beacon rate |
| 526 | @@ -6400,6 +6486,12 @@ enum nl80211_feature_flags { |
| 527 | * in authentication and deauthentication frames sent to unassociated peer |
| 528 | * using @NL80211_CMD_FRAME. |
| 529 | * |
| 530 | + * @NL80211_EXT_FEATURE_OWE_OFFLOAD: Driver/Device wants to do OWE DH IE |
| 531 | + * handling in station mode. |
| 532 | + * |
| 533 | + * @NL80211_EXT_FEATURE_OWE_OFFLOAD_AP: Driver/Device wants to do OWE DH IE |
| 534 | + * handling in AP mode. |
| 535 | + * |
| 536 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 537 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| 538 | */ |
| 539 | @@ -6471,6 +6563,8 @@ enum nl80211_ext_feature_index { |
| 540 | NL80211_EXT_FEATURE_PUNCT, |
| 541 | NL80211_EXT_FEATURE_SECURE_NAN, |
| 542 | NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA, |
| 543 | + NL80211_EXT_FEATURE_OWE_OFFLOAD, |
| 544 | + NL80211_EXT_FEATURE_OWE_OFFLOAD_AP, |
| 545 | |
| 546 | /* add new features before the definition below */ |
| 547 | NUM_NL80211_EXT_FEATURES, |
| 548 | @@ -6555,7 +6649,7 @@ enum nl80211_timeout_reason { |
| 549 | * request parameters IE in the probe request |
| 550 | * @NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP: accept broadcast probe responses |
| 551 | * @NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE: send probe request frames at |
| 552 | - * rate of at least 5.5M. In case non OCE AP is discovered in the channel, |
| 553 | + * rate of at least 5.5M. In case non-OCE AP is discovered in the channel, |
| 554 | * only the first probe req in the channel will be sent in high rate. |
| 555 | * @NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION: allow probe request |
| 556 | * tx deferral (dot11FILSProbeDelay shall be set to 15ms) |
| 557 | @@ -6591,7 +6685,7 @@ enum nl80211_timeout_reason { |
| 558 | * received on the 2.4/5 GHz channels to actively scan only the 6GHz |
| 559 | * channels on which APs are expected to be found. Note that when not set, |
| 560 | * the scan logic would scan all 6GHz channels, but since transmission of |
| 561 | - * probe requests on non PSC channels is limited, it is highly likely that |
| 562 | + * probe requests on non-PSC channels is limited, it is highly likely that |
| 563 | * these channels would passively be scanned. Also note that when the flag |
| 564 | * is set, in addition to the colocated APs, PSC channels would also be |
| 565 | * scanned if the user space has asked for it. |
| 566 | @@ -6923,7 +7017,7 @@ enum nl80211_nan_func_term_reason { |
| 567 | * The instance ID for the follow up Service Discovery Frame. This is u8. |
| 568 | * @NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID: relevant if the function's type |
| 569 | * is follow up. This is a u8. |
| 570 | - * The requestor instance ID for the follow up Service Discovery Frame. |
| 571 | + * The requester instance ID for the follow up Service Discovery Frame. |
| 572 | * @NL80211_NAN_FUNC_FOLLOW_UP_DEST: the MAC address of the recipient of the |
| 573 | * follow up Service Discovery Frame. This is a binary attribute. |
| 574 | * @NL80211_NAN_FUNC_CLOSE_RANGE: is this function limited for devices in a |
| 575 | @@ -7313,7 +7407,7 @@ enum nl80211_peer_measurement_attrs { |
| 576 | * @NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED: flag attribute indicating if |
| 577 | * trigger based ranging measurement is supported |
| 578 | * @NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED: flag attribute indicating |
| 579 | - * if non trigger based ranging measurement is supported |
| 580 | + * if non-trigger-based ranging measurement is supported |
| 581 | * |
| 582 | * @NUM_NL80211_PMSR_FTM_CAPA_ATTR: internal |
| 583 | * @NL80211_PMSR_FTM_CAPA_ATTR_MAX: highest attribute number |
| 584 | @@ -7367,7 +7461,7 @@ enum nl80211_peer_measurement_ftm_capa { |
| 585 | * if neither %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED nor |
| 586 | * %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set, EDCA based |
| 587 | * ranging will be used. |
| 588 | - * @NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED: request non trigger based |
| 589 | + * @NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED: request non-trigger-based |
| 590 | * ranging measurement (flag) |
| 591 | * This attribute and %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED are |
| 592 | * mutually exclusive. |
| 593 | @@ -7445,7 +7539,7 @@ enum nl80211_peer_measurement_ftm_failure_reasons { |
| 594 | * @NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS: number of FTM Request frames |
| 595 | * transmitted (u32, optional) |
| 596 | * @NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES: number of FTM Request frames |
| 597 | - * that were acknowleged (u32, optional) |
| 598 | + * that were acknowledged (u32, optional) |
| 599 | * @NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME: retry time received from the |
| 600 | * busy peer (u32, seconds) |
| 601 | * @NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP: actual number of bursts exponent |
| 602 | @@ -7606,7 +7700,7 @@ enum nl80211_iftype_akm_attributes { |
| 603 | * @NL80211_FILS_DISCOVERY_ATTR_INT_MIN: Minimum packet interval (u32, TU). |
| 604 | * Allowed range: 0..10000 (TU = Time Unit) |
| 605 | * @NL80211_FILS_DISCOVERY_ATTR_INT_MAX: Maximum packet interval (u32, TU). |
| 606 | - * Allowed range: 0..10000 (TU = Time Unit) |
| 607 | + * Allowed range: 0..10000 (TU = Time Unit). If set to 0, the feature is disabled. |
| 608 | * @NL80211_FILS_DISCOVERY_ATTR_TMPL: Template data for FILS discovery action |
| 609 | * frame including the headers. |
| 610 | * |
| 611 | @@ -7639,7 +7733,8 @@ enum nl80211_fils_discovery_attributes { |
| 612 | * |
| 613 | * @NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT: Maximum packet interval (u32, TU). |
| 614 | * Allowed range: 0..20 (TU = Time Unit). IEEE P802.11ax/D6.0 |
| 615 | - * 26.17.2.3.2 (AP behavior for fast passive scanning). |
| 616 | + * 26.17.2.3.2 (AP behavior for fast passive scanning). If set to 0, the feature is |
| 617 | + * disabled. |
| 618 | * @NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL: Unsolicited broadcast probe response |
| 619 | * frame template (binary). |
| 620 | * |
| 621 | -- |
| 622 | 2.39.2 |
| 623 | |