.. | .. |
---|
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 | + * Copyright (C) 2018-2020 Intel Corporation |
---|
15 | 15 | * |
---|
16 | 16 | * Permission to use, copy, modify, and/or distribute this software for any |
---|
17 | 17 | * purpose with or without fee is hereby granted, provided that the above |
---|
.. | .. |
---|
183 | 183 | * |
---|
184 | 184 | * By setting @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK flag drivers |
---|
185 | 185 | * can indicate they support offloading EAPOL handshakes for WPA/WPA2 |
---|
186 | | - * preshared key authentication. In %NL80211_CMD_CONNECT the preshared |
---|
187 | | - * key should be specified using %NL80211_ATTR_PMK. Drivers supporting |
---|
188 | | - * this offload may reject the %NL80211_CMD_CONNECT when no preshared |
---|
189 | | - * key material is provided, for example when that driver does not |
---|
190 | | - * support setting the temporal keys through %CMD_NEW_KEY. |
---|
| 186 | + * preshared key authentication in station mode. In %NL80211_CMD_CONNECT |
---|
| 187 | + * the preshared key should be specified using %NL80211_ATTR_PMK. Drivers |
---|
| 188 | + * supporting this offload may reject the %NL80211_CMD_CONNECT when no |
---|
| 189 | + * preshared key material is provided, for example when that driver does |
---|
| 190 | + * not support setting the temporal keys through %NL80211_CMD_NEW_KEY. |
---|
191 | 191 | * |
---|
192 | 192 | * Similarly @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X flag can be |
---|
193 | 193 | * set by drivers indicating offload support of the PTK/GTK EAPOL |
---|
194 | | - * handshakes during 802.1X authentication. In order to use the offload |
---|
195 | | - * the %NL80211_CMD_CONNECT should have %NL80211_ATTR_WANT_1X_4WAY_HS |
---|
196 | | - * attribute flag. Drivers supporting this offload may reject the |
---|
197 | | - * %NL80211_CMD_CONNECT when the attribute flag is not present. |
---|
| 194 | + * handshakes during 802.1X authentication in station mode. In order to |
---|
| 195 | + * use the offload the %NL80211_CMD_CONNECT should have |
---|
| 196 | + * %NL80211_ATTR_WANT_1X_4WAY_HS attribute flag. Drivers supporting this |
---|
| 197 | + * offload may reject the %NL80211_CMD_CONNECT when the attribute flag is |
---|
| 198 | + * not present. |
---|
| 199 | + * |
---|
| 200 | + * By setting @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK flag drivers |
---|
| 201 | + * can indicate they support offloading EAPOL handshakes for WPA/WPA2 |
---|
| 202 | + * preshared key authentication in AP mode. In %NL80211_CMD_START_AP |
---|
| 203 | + * the preshared key should be specified using %NL80211_ATTR_PMK. Drivers |
---|
| 204 | + * supporting this offload may reject the %NL80211_CMD_START_AP when no |
---|
| 205 | + * preshared key material is provided, for example when that driver does |
---|
| 206 | + * not support setting the temporal keys through %NL80211_CMD_NEW_KEY. |
---|
198 | 207 | * |
---|
199 | 208 | * For 802.1X the PMK or PMK-R0 are set by providing %NL80211_ATTR_PMK |
---|
200 | 209 | * using %NL80211_CMD_SET_PMK. For offloaded FT support also |
---|
.. | .. |
---|
240 | 249 | */ |
---|
241 | 250 | |
---|
242 | 251 | /** |
---|
| 252 | + * DOC: SAE authentication offload |
---|
| 253 | + * |
---|
| 254 | + * By setting @NL80211_EXT_FEATURE_SAE_OFFLOAD flag drivers can indicate they |
---|
| 255 | + * support offloading SAE authentication for WPA3-Personal networks in station |
---|
| 256 | + * mode. Similarly @NL80211_EXT_FEATURE_SAE_OFFLOAD_AP flag can be set by |
---|
| 257 | + * drivers indicating the offload support in AP mode. |
---|
| 258 | + * |
---|
| 259 | + * The password for SAE should be specified using %NL80211_ATTR_SAE_PASSWORD in |
---|
| 260 | + * %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP for station and AP mode |
---|
| 261 | + * respectively. |
---|
| 262 | + */ |
---|
| 263 | + |
---|
| 264 | +/** |
---|
| 265 | + * DOC: VLAN offload support for setting group keys and binding STAs to VLANs |
---|
| 266 | + * |
---|
| 267 | + * By setting @NL80211_EXT_FEATURE_VLAN_OFFLOAD flag drivers can indicate they |
---|
| 268 | + * support offloading VLAN functionality in a manner where the driver exposes a |
---|
| 269 | + * single netdev that uses VLAN tagged frames and separate VLAN-specific netdevs |
---|
| 270 | + * can then be added using RTM_NEWLINK/IFLA_VLAN_ID similarly to the Ethernet |
---|
| 271 | + * case. Frames received from stations that are not assigned to any VLAN are |
---|
| 272 | + * delivered on the main netdev and frames to such stations can be sent through |
---|
| 273 | + * that main netdev. |
---|
| 274 | + * |
---|
| 275 | + * %NL80211_CMD_NEW_KEY (for group keys), %NL80211_CMD_NEW_STATION, and |
---|
| 276 | + * %NL80211_CMD_SET_STATION will optionally specify vlan_id using |
---|
| 277 | + * %NL80211_ATTR_VLAN_ID. |
---|
| 278 | + */ |
---|
| 279 | + |
---|
| 280 | +/** |
---|
| 281 | + * DOC: TID configuration |
---|
| 282 | + * |
---|
| 283 | + * TID config support can be checked in the %NL80211_ATTR_TID_CONFIG |
---|
| 284 | + * attribute given in wiphy capabilities. |
---|
| 285 | + * |
---|
| 286 | + * The necessary configuration parameters are mentioned in |
---|
| 287 | + * &enum nl80211_tid_config_attr and it will be passed to the |
---|
| 288 | + * %NL80211_CMD_SET_TID_CONFIG command in %NL80211_ATTR_TID_CONFIG. |
---|
| 289 | + * |
---|
| 290 | + * If the configuration needs to be applied for specific peer then the MAC |
---|
| 291 | + * address of the peer needs to be passed in %NL80211_ATTR_MAC, otherwise the |
---|
| 292 | + * configuration will be applied for all the connected peers in the vif except |
---|
| 293 | + * any peers that have peer specific configuration for the TID by default; if |
---|
| 294 | + * the %NL80211_TID_CONFIG_ATTR_OVERRIDE flag is set, peer specific values |
---|
| 295 | + * will be overwritten. |
---|
| 296 | + * |
---|
| 297 | + * All this configuration is valid only for STA's current connection |
---|
| 298 | + * i.e. the configuration will be reset to default when the STA connects back |
---|
| 299 | + * after disconnection/roaming, and this configuration will be cleared when |
---|
| 300 | + * the interface goes down. |
---|
| 301 | + */ |
---|
| 302 | + |
---|
| 303 | +/** |
---|
243 | 304 | * enum nl80211_commands - supported nl80211 commands |
---|
244 | 305 | * |
---|
245 | 306 | * @NL80211_CMD_UNSPEC: unspecified command to catch errors |
---|
.. | .. |
---|
248 | 309 | * to get a list of all present wiphys. |
---|
249 | 310 | * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or |
---|
250 | 311 | * %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME, |
---|
251 | | - * %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ (and the |
---|
252 | | - * attributes determining the channel width; this is used for setting |
---|
253 | | - * monitor mode channel), %NL80211_ATTR_WIPHY_RETRY_SHORT, |
---|
254 | | - * %NL80211_ATTR_WIPHY_RETRY_LONG, %NL80211_ATTR_WIPHY_FRAG_THRESHOLD, |
---|
255 | | - * and/or %NL80211_ATTR_WIPHY_RTS_THRESHOLD. |
---|
256 | | - * However, for setting the channel, see %NL80211_CMD_SET_CHANNEL |
---|
257 | | - * instead, the support here is for backward compatibility only. |
---|
| 312 | + * %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ, |
---|
| 313 | + * %NL80211_ATTR_WIPHY_FREQ_OFFSET (and the attributes determining the |
---|
| 314 | + * channel width; this is used for setting monitor mode channel), |
---|
| 315 | + * %NL80211_ATTR_WIPHY_RETRY_SHORT, %NL80211_ATTR_WIPHY_RETRY_LONG, |
---|
| 316 | + * %NL80211_ATTR_WIPHY_FRAG_THRESHOLD, and/or |
---|
| 317 | + * %NL80211_ATTR_WIPHY_RTS_THRESHOLD. However, for setting the channel, |
---|
| 318 | + * see %NL80211_CMD_SET_CHANNEL instead, the support here is for backward |
---|
| 319 | + * compatibility only. |
---|
258 | 320 | * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request |
---|
259 | 321 | * or rename notification. Has attributes %NL80211_ATTR_WIPHY and |
---|
260 | 322 | * %NL80211_ATTR_WIPHY_NAME. |
---|
.. | .. |
---|
303 | 365 | * %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_INACTIVITY_TIMEOUT, |
---|
304 | 366 | * %NL80211_ATTR_ACL_POLICY and %NL80211_ATTR_MAC_ADDRS. |
---|
305 | 367 | * The channel to use can be set on the interface or be given using the |
---|
306 | | - * %NL80211_ATTR_WIPHY_FREQ and the attributes determining channel width. |
---|
| 368 | + * %NL80211_ATTR_WIPHY_FREQ and %NL80211_ATTR_WIPHY_FREQ_OFFSET, and the |
---|
| 369 | + * attributes determining channel width. |
---|
307 | 370 | * @NL80211_CMD_NEW_BEACON: old alias for %NL80211_CMD_START_AP |
---|
308 | 371 | * @NL80211_CMD_STOP_AP: Stop AP operation on the given interface |
---|
309 | 372 | * @NL80211_CMD_DEL_BEACON: old alias for %NL80211_CMD_STOP_AP |
---|
.. | .. |
---|
313 | 376 | * @NL80211_CMD_SET_STATION: Set station attributes for station identified by |
---|
314 | 377 | * %NL80211_ATTR_MAC on the interface identified by %NL80211_ATTR_IFINDEX. |
---|
315 | 378 | * @NL80211_CMD_NEW_STATION: Add a station with given attributes to the |
---|
316 | | - * the interface identified by %NL80211_ATTR_IFINDEX. |
---|
| 379 | + * interface identified by %NL80211_ATTR_IFINDEX. |
---|
317 | 380 | * @NL80211_CMD_DEL_STATION: Remove a station identified by %NL80211_ATTR_MAC |
---|
318 | 381 | * or, if no MAC address given, all stations, on the interface identified |
---|
319 | 382 | * by %NL80211_ATTR_IFINDEX. %NL80211_ATTR_MGMT_SUBTYPE and |
---|
.. | .. |
---|
333 | 396 | * @NL80211_CMD_DEL_MPATH: Delete a mesh path to the destination given by |
---|
334 | 397 | * %NL80211_ATTR_MAC. |
---|
335 | 398 | * @NL80211_CMD_NEW_PATH: Add a mesh path with given attributes to the |
---|
336 | | - * the interface identified by %NL80211_ATTR_IFINDEX. |
---|
| 399 | + * interface identified by %NL80211_ATTR_IFINDEX. |
---|
337 | 400 | * @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC |
---|
338 | 401 | * or, if no MAC address given, all mesh paths, on the interface identified |
---|
339 | 402 | * by %NL80211_ATTR_IFINDEX. |
---|
.. | .. |
---|
488 | 551 | * interface. %NL80211_ATTR_MAC is used to specify PeerSTAAddress (and |
---|
489 | 552 | * BSSID in case of station mode). %NL80211_ATTR_SSID is used to specify |
---|
490 | 553 | * the SSID (mainly for association, but is included in authentication |
---|
491 | | - * request, too, to help BSS selection. %NL80211_ATTR_WIPHY_FREQ is used |
---|
492 | | - * to specify the frequence of the channel in MHz. %NL80211_ATTR_AUTH_TYPE |
---|
493 | | - * is used to specify the authentication type. %NL80211_ATTR_IE is used to |
---|
494 | | - * define IEs (VendorSpecificInfo, but also including RSN IE and FT IEs) |
---|
495 | | - * to be added to the frame. |
---|
| 554 | + * request, too, to help BSS selection. %NL80211_ATTR_WIPHY_FREQ + |
---|
| 555 | + * %NL80211_ATTR_WIPHY_FREQ_OFFSET is used to specify the frequence of the |
---|
| 556 | + * channel in MHz. %NL80211_ATTR_AUTH_TYPE is used to specify the |
---|
| 557 | + * authentication type. %NL80211_ATTR_IE is used to define IEs |
---|
| 558 | + * (VendorSpecificInfo, but also including RSN IE and FT IEs) to be added |
---|
| 559 | + * to the frame. |
---|
496 | 560 | * When used as an event, this reports reception of an Authentication |
---|
497 | 561 | * frame in station and IBSS modes when the local MLME processed the |
---|
498 | 562 | * frame, i.e., it was for the local STA and was received in correct |
---|
.. | .. |
---|
547 | 611 | * requests to connect to a specified network but without separating |
---|
548 | 612 | * auth and assoc steps. For this, you need to specify the SSID in a |
---|
549 | 613 | * %NL80211_ATTR_SSID attribute, and can optionally specify the association |
---|
550 | | - * IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_USE_MFP, |
---|
551 | | - * %NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT, |
---|
| 614 | + * IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, |
---|
| 615 | + * %NL80211_ATTR_USE_MFP, %NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ, |
---|
| 616 | + * %NL80211_ATTR_WIPHY_FREQ_OFFSET, %NL80211_ATTR_CONTROL_PORT, |
---|
552 | 617 | * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, |
---|
553 | 618 | * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, |
---|
554 | 619 | * %NL80211_ATTR_CONTROL_PORT_OVER_NL80211, %NL80211_ATTR_MAC_HINT, and |
---|
.. | .. |
---|
562 | 627 | * set of BSSID,frequency parameters is used (i.e., either the enforcing |
---|
563 | 628 | * %NL80211_ATTR_MAC,%NL80211_ATTR_WIPHY_FREQ or the less strict |
---|
564 | 629 | * %NL80211_ATTR_MAC_HINT and %NL80211_ATTR_WIPHY_FREQ_HINT). |
---|
| 630 | + * Driver shall not modify the IEs specified through %NL80211_ATTR_IE if |
---|
| 631 | + * %NL80211_ATTR_MAC is included. However, if %NL80211_ATTR_MAC_HINT is |
---|
| 632 | + * included, these IEs through %NL80211_ATTR_IE are specified by the user |
---|
| 633 | + * space based on the best possible BSS selected. Thus, if the driver ends |
---|
| 634 | + * up selecting a different BSS, it can modify these IEs accordingly (e.g. |
---|
| 635 | + * userspace asks the driver to perform PMKSA caching with BSS1 and the |
---|
| 636 | + * driver ends up selecting BSS2 with different PMKSA cache entry; RSNIE |
---|
| 637 | + * has to get updated with the apt PMKID). |
---|
565 | 638 | * %NL80211_ATTR_PREV_BSSID can be used to request a reassociation within |
---|
566 | 639 | * the ESS in case the device is already associated and an association with |
---|
567 | 640 | * a different BSS is desired. |
---|
.. | .. |
---|
578 | 651 | * authentication/association or not receiving a response from the AP. |
---|
579 | 652 | * Non-zero %NL80211_ATTR_STATUS_CODE value is indicated in that case as |
---|
580 | 653 | * well to remain backwards compatible. |
---|
581 | | - * When establishing a security association, drivers that support 4 way |
---|
582 | | - * handshake offload should send %NL80211_CMD_PORT_AUTHORIZED event when |
---|
583 | | - * the 4 way handshake is completed successfully. |
---|
584 | 654 | * @NL80211_CMD_ROAM: Notification indicating the card/driver roamed by itself. |
---|
585 | | - * When a security association was established with the new AP (e.g. if |
---|
586 | | - * the FT protocol was used for roaming or the driver completed the 4 way |
---|
587 | | - * handshake), this event should be followed by an |
---|
| 655 | + * When a security association was established on an 802.1X network using |
---|
| 656 | + * fast transition, this event should be followed by an |
---|
588 | 657 | * %NL80211_CMD_PORT_AUTHORIZED event. |
---|
589 | 658 | * @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify |
---|
590 | 659 | * userspace that a connection was dropped by the AP or due to other |
---|
.. | .. |
---|
631 | 700 | * four bytes for vendor frames including the OUI. The registration |
---|
632 | 701 | * cannot be dropped, but is removed automatically when the netlink |
---|
633 | 702 | * socket is closed. Multiple registrations can be made. |
---|
| 703 | + * The %NL80211_ATTR_RECEIVE_MULTICAST flag attribute can be given if |
---|
| 704 | + * %NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS is available, in which |
---|
| 705 | + * case the registration can also be modified to include/exclude the |
---|
| 706 | + * flag, rather than requiring unregistration to change it. |
---|
634 | 707 | * @NL80211_CMD_REGISTER_ACTION: Alias for @NL80211_CMD_REGISTER_FRAME for |
---|
635 | 708 | * backward compatibility |
---|
636 | 709 | * @NL80211_CMD_FRAME: Management frame TX request and RX notification. This |
---|
.. | .. |
---|
653 | 726 | * is used during CSA period. |
---|
654 | 727 | * @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this |
---|
655 | 728 | * command may be used with the corresponding cookie to cancel the wait |
---|
656 | | - * time if it is known that it is no longer necessary. |
---|
| 729 | + * time if it is known that it is no longer necessary. This command is |
---|
| 730 | + * also sent as an event whenever the driver has completed the off-channel |
---|
| 731 | + * wait time. |
---|
657 | 732 | * @NL80211_CMD_ACTION: Alias for @NL80211_CMD_FRAME for backward compatibility. |
---|
658 | 733 | * @NL80211_CMD_FRAME_TX_STATUS: Report TX status of a management frame |
---|
659 | 734 | * transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies |
---|
.. | .. |
---|
728 | 803 | * various triggers. These triggers can be configured through this |
---|
729 | 804 | * command with the %NL80211_ATTR_WOWLAN_TRIGGERS attribute. For |
---|
730 | 805 | * more background information, see |
---|
731 | | - * http://wireless.kernel.org/en/users/Documentation/WoWLAN. |
---|
| 806 | + * https://wireless.wiki.kernel.org/en/users/Documentation/WoWLAN. |
---|
732 | 807 | * The @NL80211_CMD_SET_WOWLAN command can also be used as a notification |
---|
733 | 808 | * from the driver reporting the wakeup reason. In this case, the |
---|
734 | 809 | * @NL80211_ATTR_WOWLAN_TRIGGERS attribute will contain the reason |
---|
.. | .. |
---|
868 | 943 | * @NL80211_CMD_SET_COALESCE: Configure coalesce rules or clear existing rules. |
---|
869 | 944 | * |
---|
870 | 945 | * @NL80211_CMD_CHANNEL_SWITCH: Perform a channel switch by announcing the |
---|
871 | | - * the new channel information (Channel Switch Announcement - CSA) |
---|
| 946 | + * new channel information (Channel Switch Announcement - CSA) |
---|
872 | 947 | * in the beacon for some time (as defined in the |
---|
873 | 948 | * %NL80211_ATTR_CH_SWITCH_COUNT parameter) and then change to the |
---|
874 | 949 | * new channel. Userspace provides the new channel information (using |
---|
.. | .. |
---|
992 | 1067 | * @NL80211_CMD_DEL_PMK: For offloaded 4-Way handshake, delete the previously |
---|
993 | 1068 | * configured PMK for the authenticator address identified by |
---|
994 | 1069 | * %NL80211_ATTR_MAC. |
---|
995 | | - * @NL80211_CMD_PORT_AUTHORIZED: An event that indicates that the 4 way |
---|
996 | | - * handshake was completed successfully by the driver. The BSSID is |
---|
997 | | - * specified with %NL80211_ATTR_MAC. Drivers that support 4 way handshake |
---|
998 | | - * offload should send this event after indicating 802.11 association with |
---|
999 | | - * %NL80211_CMD_CONNECT or %NL80211_CMD_ROAM. If the 4 way handshake failed |
---|
1000 | | - * %NL80211_CMD_DISCONNECT should be indicated instead. |
---|
1001 | | - * |
---|
| 1070 | + * @NL80211_CMD_PORT_AUTHORIZED: An event that indicates an 802.1X FT roam was |
---|
| 1071 | + * completed successfully. Drivers that support 4 way handshake offload |
---|
| 1072 | + * should send this event after indicating 802.1X FT assocation with |
---|
| 1073 | + * %NL80211_CMD_ROAM. If the 4 way handshake failed %NL80211_CMD_DISCONNECT |
---|
| 1074 | + * should be indicated instead. |
---|
1002 | 1075 | * @NL80211_CMD_CONTROL_PORT_FRAME: Control Port (e.g. PAE) frame TX request |
---|
1003 | 1076 | * and RX notification. This command is used both as a request to transmit |
---|
1004 | 1077 | * a control port frame and as a notification that a control port frame |
---|
.. | .. |
---|
1047 | 1120 | * randomization may be enabled and configured by specifying the |
---|
1048 | 1121 | * %NL80211_ATTR_MAC and %NL80211_ATTR_MAC_MASK attributes. |
---|
1049 | 1122 | * If a timeout is requested, use the %NL80211_ATTR_TIMEOUT attribute. |
---|
1050 | | - * A u64 cookie for further %NL80211_ATTR_COOKIE use is is returned in |
---|
| 1123 | + * A u64 cookie for further %NL80211_ATTR_COOKIE use is returned in |
---|
1051 | 1124 | * the netlink extended ack message. |
---|
1052 | 1125 | * |
---|
1053 | 1126 | * To cancel a measurement, close the socket that requested it. |
---|
.. | .. |
---|
1074 | 1147 | * offload OWE processing to user space. This intends to support |
---|
1075 | 1148 | * OWE AKM by the host drivers that implement SME but rely |
---|
1076 | 1149 | * on the user space for the cryptographic/DH IE processing in AP mode. |
---|
| 1150 | + * |
---|
| 1151 | + * @NL80211_CMD_PROBE_MESH_LINK: The requirement for mesh link metric |
---|
| 1152 | + * refreshing, is that from one mesh point we be able to send some data |
---|
| 1153 | + * frames to other mesh points which are not currently selected as a |
---|
| 1154 | + * primary traffic path, but which are only 1 hop away. The absence of |
---|
| 1155 | + * the primary path to the chosen node makes it necessary to apply some |
---|
| 1156 | + * form of marking on a chosen packet stream so that the packets can be |
---|
| 1157 | + * properly steered to the selected node for testing, and not by the |
---|
| 1158 | + * regular mesh path lookup. Further, the packets must be of type data |
---|
| 1159 | + * so that the rate control (often embedded in firmware) is used for |
---|
| 1160 | + * rate selection. |
---|
| 1161 | + * |
---|
| 1162 | + * Here attribute %NL80211_ATTR_MAC is used to specify connected mesh |
---|
| 1163 | + * peer MAC address and %NL80211_ATTR_FRAME is used to specify the frame |
---|
| 1164 | + * content. The frame is ethernet data. |
---|
| 1165 | + * |
---|
| 1166 | + * @NL80211_CMD_SET_TID_CONFIG: Data frame TID specific configuration |
---|
| 1167 | + * is passed using %NL80211_ATTR_TID_CONFIG attribute. |
---|
| 1168 | + * |
---|
| 1169 | + * @NL80211_CMD_UNPROT_BEACON: Unprotected or incorrectly protected Beacon |
---|
| 1170 | + * frame. This event is used to indicate that a received Beacon frame was |
---|
| 1171 | + * dropped because it did not include a valid MME MIC while beacon |
---|
| 1172 | + * protection was enabled (BIGTK configured in station mode). |
---|
| 1173 | + * |
---|
| 1174 | + * @NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS: Report TX status of a control |
---|
| 1175 | + * port frame transmitted with %NL80211_CMD_CONTROL_PORT_FRAME. |
---|
| 1176 | + * %NL80211_ATTR_COOKIE identifies the TX command and %NL80211_ATTR_FRAME |
---|
| 1177 | + * includes the contents of the frame. %NL80211_ATTR_ACK flag is included |
---|
| 1178 | + * if the recipient acknowledged the frame. |
---|
1077 | 1179 | * |
---|
1078 | 1180 | * @NL80211_CMD_MAX: highest used command number |
---|
1079 | 1181 | * @__NL80211_CMD_AFTER_LAST: internal use |
---|
.. | .. |
---|
1297 | 1399 | |
---|
1298 | 1400 | NL80211_CMD_UPDATE_OWE_INFO, |
---|
1299 | 1401 | |
---|
| 1402 | + NL80211_CMD_PROBE_MESH_LINK, |
---|
| 1403 | + |
---|
| 1404 | + NL80211_CMD_SET_TID_CONFIG, |
---|
| 1405 | + |
---|
| 1406 | + NL80211_CMD_UNPROT_BEACON, |
---|
| 1407 | + |
---|
| 1408 | + NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS, |
---|
| 1409 | + |
---|
1300 | 1410 | /* add new commands above here */ |
---|
1301 | 1411 | |
---|
1302 | 1412 | /* used to define NL80211_CMD_MAX below */ |
---|
.. | .. |
---|
1342 | 1452 | * of &enum nl80211_chan_width, describing the channel width. See the |
---|
1343 | 1453 | * documentation of the enum for more information. |
---|
1344 | 1454 | * @NL80211_ATTR_CENTER_FREQ1: Center frequency of the first part of the |
---|
1345 | | - * channel, used for anything but 20 MHz bandwidth |
---|
| 1455 | + * channel, used for anything but 20 MHz bandwidth. In S1G this is the |
---|
| 1456 | + * operating channel center frequency. |
---|
1346 | 1457 | * @NL80211_ATTR_CENTER_FREQ2: Center frequency of the second part of the |
---|
1347 | 1458 | * channel, used only for 80+80 MHz bandwidth |
---|
1348 | 1459 | * @NL80211_ATTR_WIPHY_CHANNEL_TYPE: included with NL80211_ATTR_WIPHY_FREQ |
---|
.. | .. |
---|
1407 | 1518 | * rates as defined by IEEE 802.11 7.3.2.2 but without the length |
---|
1408 | 1519 | * restriction (at most %NL80211_MAX_SUPP_RATES). |
---|
1409 | 1520 | * @NL80211_ATTR_STA_VLAN: interface index of VLAN interface to move station |
---|
1410 | | - * to, or the AP interface the station was originally added to to. |
---|
| 1521 | + * to, or the AP interface the station was originally added to. |
---|
1411 | 1522 | * @NL80211_ATTR_STA_INFO: information about a station, part of station info |
---|
1412 | 1523 | * given for %NL80211_CMD_GET_STATION, nested attribute containing |
---|
1413 | 1524 | * info as possible, see &enum nl80211_sta_info. |
---|
.. | .. |
---|
1552 | 1663 | * flag is included, then control port frames are sent over NL80211 instead |
---|
1553 | 1664 | * using %CMD_CONTROL_PORT_FRAME. If control port routing over NL80211 is |
---|
1554 | 1665 | * to be used then userspace must also use the %NL80211_ATTR_SOCKET_OWNER |
---|
1555 | | - * flag. |
---|
| 1666 | + * flag. When used with %NL80211_ATTR_CONTROL_PORT_NO_PREAUTH, pre-auth |
---|
| 1667 | + * frames are not forwared over the control port. |
---|
1556 | 1668 | * |
---|
1557 | 1669 | * @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver. |
---|
1558 | 1670 | * We recommend using nested, driver-specific attributes within this. |
---|
.. | .. |
---|
1577 | 1689 | * (a u32 with flags from &enum nl80211_wpa_versions). |
---|
1578 | 1690 | * @NL80211_ATTR_AKM_SUITES: Used with CONNECT, ASSOCIATE, and NEW_BEACON to |
---|
1579 | 1691 | * indicate which key management algorithm(s) to use (an array of u32). |
---|
| 1692 | + * This attribute is also sent in response to @NL80211_CMD_GET_WIPHY, |
---|
| 1693 | + * indicating the supported AKM suites, intended for specific drivers which |
---|
| 1694 | + * implement SME and have constraints on which AKMs are supported and also |
---|
| 1695 | + * the cases where an AKM support is offloaded to the driver/firmware. |
---|
| 1696 | + * If there is no such notification from the driver, user space should |
---|
| 1697 | + * assume the driver supports all the AKM suites. |
---|
1580 | 1698 | * |
---|
1581 | 1699 | * @NL80211_ATTR_REQ_IE: (Re)association request information elements as |
---|
1582 | 1700 | * sent out by the card, for ROAM and successful CONNECT events. |
---|
.. | .. |
---|
1753 | 1871 | * the values passed in @NL80211_ATTR_SCAN_SSIDS (eg. if an SSID |
---|
1754 | 1872 | * is included in the probe request, but the match attributes |
---|
1755 | 1873 | * will never let it go through), -EINVAL may be returned. |
---|
1756 | | - * If ommited, no filtering is done. |
---|
| 1874 | + * If omitted, no filtering is done. |
---|
1757 | 1875 | * |
---|
1758 | 1876 | * @NL80211_ATTR_INTERFACE_COMBINATIONS: Nested attribute listing the supported |
---|
1759 | 1877 | * interface combinations. In each nested item, it contains attributes |
---|
.. | .. |
---|
1858 | 1976 | * |
---|
1859 | 1977 | * @NL80211_ATTR_INACTIVITY_TIMEOUT: timeout value in seconds, this can be |
---|
1860 | 1978 | * used by the drivers which has MLME in firmware and does not have support |
---|
1861 | | - * to report per station tx/rx activity to free up the staion entry from |
---|
| 1979 | + * to report per station tx/rx activity to free up the station entry from |
---|
1862 | 1980 | * the list. This needs to be used when the driver advertises the |
---|
1863 | 1981 | * capability to timeout the stations. |
---|
1864 | 1982 | * |
---|
.. | .. |
---|
1962 | 2080 | * operation). |
---|
1963 | 2081 | * @NL80211_ATTR_CSA_IES: Nested set of attributes containing the IE information |
---|
1964 | 2082 | * for the time while performing a channel switch. |
---|
1965 | | - * @NL80211_ATTR_CSA_C_OFF_BEACON: An array of offsets (u16) to the channel |
---|
1966 | | - * switch counters in the beacons tail (%NL80211_ATTR_BEACON_TAIL). |
---|
1967 | | - * @NL80211_ATTR_CSA_C_OFF_PRESP: An array of offsets (u16) to the channel |
---|
1968 | | - * switch counters in the probe response (%NL80211_ATTR_PROBE_RESP). |
---|
| 2083 | + * @NL80211_ATTR_CNTDWN_OFFS_BEACON: An array of offsets (u16) to the channel |
---|
| 2084 | + * switch or color change counters in the beacons tail (%NL80211_ATTR_BEACON_TAIL). |
---|
| 2085 | + * @NL80211_ATTR_CNTDWN_OFFS_PRESP: An array of offsets (u16) to the channel |
---|
| 2086 | + * switch or color change counters in the probe response (%NL80211_ATTR_PROBE_RESP). |
---|
1969 | 2087 | * |
---|
1970 | 2088 | * @NL80211_ATTR_RXMGMT_FLAGS: flags for nl80211_send_mgmt(), u32. |
---|
1971 | 2089 | * As specified in the &enum nl80211_rxmgmt_flags. |
---|
.. | .. |
---|
1973 | 2091 | * @NL80211_ATTR_STA_SUPPORTED_CHANNELS: array of supported channels. |
---|
1974 | 2092 | * |
---|
1975 | 2093 | * @NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES: array of supported |
---|
1976 | | - * supported operating classes. |
---|
| 2094 | + * operating classes. |
---|
1977 | 2095 | * |
---|
1978 | 2096 | * @NL80211_ATTR_HANDLE_DFS: A flag indicating whether user space |
---|
1979 | 2097 | * controls DFS operation in IBSS mode. If the flag is included in |
---|
.. | .. |
---|
2219 | 2337 | * |
---|
2220 | 2338 | * @NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST: When present the RSSI level for BSSs in |
---|
2221 | 2339 | * the specified band is to be adjusted before doing |
---|
2222 | | - * %NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI based comparision to figure out |
---|
| 2340 | + * %NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI based comparison to figure out |
---|
2223 | 2341 | * better BSSs. The attribute value is a packed structure |
---|
2224 | 2342 | * value as specified by &struct nl80211_bss_select_rssi_adjust. |
---|
2225 | 2343 | * |
---|
.. | .. |
---|
2251 | 2369 | * |
---|
2252 | 2370 | * @NL80211_ATTR_PMK: attribute for passing PMK key material. Used with |
---|
2253 | 2371 | * %NL80211_CMD_SET_PMKSA for the PMKSA identified by %NL80211_ATTR_PMKID. |
---|
2254 | | - * For %NL80211_CMD_CONNECT it is used to provide PSK for offloading 4-way |
---|
2255 | | - * handshake for WPA/WPA2-PSK networks. For 802.1X authentication it is |
---|
2256 | | - * used with %NL80211_CMD_SET_PMK. For offloaded FT support this attribute |
---|
2257 | | - * specifies the PMK-R0 if NL80211_ATTR_PMKR0_NAME is included as well. |
---|
| 2372 | + * For %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP it is used to provide |
---|
| 2373 | + * PSK for offloading 4-way handshake for WPA/WPA2-PSK networks. For 802.1X |
---|
| 2374 | + * authentication it is used with %NL80211_CMD_SET_PMK. For offloaded FT |
---|
| 2375 | + * support this attribute specifies the PMK-R0 if NL80211_ATTR_PMKR0_NAME |
---|
| 2376 | + * is included as well. |
---|
2258 | 2377 | * |
---|
2259 | 2378 | * @NL80211_ATTR_SCHED_SCAN_MULTI: flag attribute which user-space shall use to |
---|
2260 | 2379 | * indicate that it supports multiple active scheduled scan requests. |
---|
.. | .. |
---|
2284 | 2403 | * nl80211_txq_stats) |
---|
2285 | 2404 | * @NL80211_ATTR_TXQ_LIMIT: Total packet limit for the TXQ queues for this phy. |
---|
2286 | 2405 | * The smaller of this and the memory limit is enforced. |
---|
2287 | | - * @NL80211_ATTR_TXQ_MEMORY_LIMIT: Total memory memory limit (in bytes) for the |
---|
| 2406 | + * @NL80211_ATTR_TXQ_MEMORY_LIMIT: Total memory limit (in bytes) for the |
---|
2288 | 2407 | * TXQ queues for this phy. The smaller of this and the packet limit is |
---|
2289 | 2408 | * enforced. |
---|
2290 | 2409 | * @NL80211_ATTR_TXQ_QUANTUM: TXQ scheduler quantum (bytes). Number of bytes |
---|
.. | .. |
---|
2294 | 2413 | * only if %NL80211_STA_FLAG_WME is set. |
---|
2295 | 2414 | * |
---|
2296 | 2415 | * @NL80211_ATTR_FTM_RESPONDER: nested attribute which user-space can include |
---|
2297 | | - * in %NL80211_CMD_START_AP or %NL80211_CMD_SET_BEACON for fine timing |
---|
2298 | | - * measurement (FTM) responder functionality and containing parameters as |
---|
2299 | | - * possible, see &enum nl80211_ftm_responder_attr |
---|
| 2416 | + * in %NL80211_CMD_START_AP or %NL80211_CMD_SET_BEACON for fine timing |
---|
| 2417 | + * measurement (FTM) responder functionality and containing parameters as |
---|
| 2418 | + * possible, see &enum nl80211_ftm_responder_attr |
---|
2300 | 2419 | * |
---|
2301 | 2420 | * @NL80211_ATTR_FTM_RESPONDER_STATS: Nested attribute with FTM responder |
---|
2302 | | - * statistics, see &enum nl80211_ftm_responder_stats. |
---|
| 2421 | + * statistics, see &enum nl80211_ftm_responder_stats. |
---|
2303 | 2422 | * |
---|
2304 | 2423 | * @NL80211_ATTR_TIMEOUT: Timeout for the given operation in milliseconds (u32), |
---|
2305 | | - * if the attribute is not given no timeout is requested. Note that 0 is an |
---|
2306 | | - * invalid value. |
---|
| 2424 | + * if the attribute is not given no timeout is requested. Note that 0 is an |
---|
| 2425 | + * invalid value. |
---|
2307 | 2426 | * |
---|
2308 | 2427 | * @NL80211_ATTR_PEER_MEASUREMENTS: peer measurements request (and result) |
---|
2309 | | - * data, uses nested attributes specified in |
---|
2310 | | - * &enum nl80211_peer_measurement_attrs. |
---|
2311 | | - * This is also used for capability advertisement in the wiphy information, |
---|
2312 | | - * with the appropriate sub-attributes. |
---|
| 2428 | + * data, uses nested attributes specified in |
---|
| 2429 | + * &enum nl80211_peer_measurement_attrs. |
---|
| 2430 | + * This is also used for capability advertisement in the wiphy information, |
---|
| 2431 | + * with the appropriate sub-attributes. |
---|
2313 | 2432 | * |
---|
2314 | 2433 | * @NL80211_ATTR_AIRTIME_WEIGHT: Station's weight when scheduled by the airtime |
---|
2315 | | - * scheduler. |
---|
| 2434 | + * scheduler. |
---|
2316 | 2435 | * |
---|
2317 | 2436 | * @NL80211_ATTR_STA_TX_POWER_SETTING: Transmit power setting type (u8) for |
---|
2318 | | - * station associated with the AP. See &enum nl80211_tx_power_setting for |
---|
2319 | | - * possible values. |
---|
| 2437 | + * station associated with the AP. See &enum nl80211_tx_power_setting for |
---|
| 2438 | + * possible values. |
---|
2320 | 2439 | * @NL80211_ATTR_STA_TX_POWER: Transmit power level (s16) in dBm units. This |
---|
2321 | | - * allows to set Tx power for a station. If this attribute is not included, |
---|
2322 | | - * the default per-interface tx power setting will be overriding. Driver |
---|
2323 | | - * should be picking up the lowest tx power, either tx power per-interface |
---|
2324 | | - * or per-station. |
---|
| 2440 | + * allows to set Tx power for a station. If this attribute is not included, |
---|
| 2441 | + * the default per-interface tx power setting will be overriding. Driver |
---|
| 2442 | + * should be picking up the lowest tx power, either tx power per-interface |
---|
| 2443 | + * or per-station. |
---|
2325 | 2444 | * |
---|
2326 | 2445 | * @NL80211_ATTR_SAE_PASSWORD: attribute for passing SAE password material. It |
---|
2327 | | - * is used with %NL80211_CMD_CONNECT to provide password for offloading |
---|
2328 | | - * SAE authentication for WPA3-Personal networks. |
---|
| 2446 | + * is used with %NL80211_CMD_CONNECT to provide password for offloading |
---|
| 2447 | + * SAE authentication for WPA3-Personal networks. |
---|
2329 | 2448 | * |
---|
2330 | 2449 | * @NL80211_ATTR_TWT_RESPONDER: Enable target wait time responder support. |
---|
2331 | 2450 | * |
---|
2332 | 2451 | * @NL80211_ATTR_HE_OBSS_PD: nested attribute for OBSS Packet Detection |
---|
2333 | | - * functionality. |
---|
| 2452 | + * functionality. |
---|
2334 | 2453 | * |
---|
2335 | 2454 | * @NL80211_ATTR_WIPHY_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz |
---|
2336 | | - * channel(s) that are allowed to be used for EDMG transmissions. |
---|
2337 | | - * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. (u8 attribute) |
---|
| 2455 | + * channel(s) that are allowed to be used for EDMG transmissions. |
---|
| 2456 | + * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. (u8 attribute) |
---|
2338 | 2457 | * @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes |
---|
2339 | | - * the allowed channel bandwidth configurations. (u8 attribute) |
---|
2340 | | - * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13. |
---|
| 2458 | + * the allowed channel bandwidth configurations. (u8 attribute) |
---|
| 2459 | + * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13. |
---|
2341 | 2460 | * |
---|
2342 | 2461 | * @NL80211_ATTR_VLAN_ID: VLAN ID (1..4094) for the station and VLAN group key |
---|
2343 | 2462 | * (u16). |
---|
.. | .. |
---|
2350 | 2469 | * supported AKM suites capability per interface. AKMs advertised in |
---|
2351 | 2470 | * %NL80211_ATTR_AKM_SUITES are default capabilities if AKM suites not |
---|
2352 | 2471 | * advertised for a specific interface type. |
---|
| 2472 | + * |
---|
| 2473 | + * @NL80211_ATTR_TID_CONFIG: TID specific configuration in a |
---|
| 2474 | + * nested attribute with &enum nl80211_tid_config_attr sub-attributes; |
---|
| 2475 | + * on output (in wiphy attributes) it contains only the feature sub- |
---|
| 2476 | + * attributes. |
---|
| 2477 | + * |
---|
| 2478 | + * @NL80211_ATTR_CONTROL_PORT_NO_PREAUTH: disable preauth frame rx on control |
---|
| 2479 | + * port in order to forward/receive them as ordinary data frames. |
---|
| 2480 | + * |
---|
| 2481 | + * @NL80211_ATTR_PMK_LIFETIME: Maximum lifetime for PMKSA in seconds (u32, |
---|
| 2482 | + * dot11RSNAConfigPMKReauthThreshold; 0 is not a valid value). |
---|
| 2483 | + * An optional parameter configured through %NL80211_CMD_SET_PMKSA. |
---|
| 2484 | + * Drivers that trigger roaming need to know the lifetime of the |
---|
| 2485 | + * configured PMKSA for triggering the full vs. PMKSA caching based |
---|
| 2486 | + * authentication. This timeout helps authentication methods like SAE, |
---|
| 2487 | + * where PMK gets updated only by going through a full (new SAE) |
---|
| 2488 | + * authentication instead of getting updated during an association for EAP |
---|
| 2489 | + * authentication. No new full authentication within the PMK expiry shall |
---|
| 2490 | + * result in a disassociation at the end of the lifetime. |
---|
| 2491 | + * |
---|
| 2492 | + * @NL80211_ATTR_PMK_REAUTH_THRESHOLD: Reauthentication threshold time, in |
---|
| 2493 | + * terms of percentage of %NL80211_ATTR_PMK_LIFETIME |
---|
| 2494 | + * (u8, dot11RSNAConfigPMKReauthThreshold, 1..100). This is an optional |
---|
| 2495 | + * parameter configured through %NL80211_CMD_SET_PMKSA. Requests the |
---|
| 2496 | + * driver to trigger a full authentication roam (without PMKSA caching) |
---|
| 2497 | + * after the reauthentication threshold time, but before the PMK lifetime |
---|
| 2498 | + * has expired. |
---|
| 2499 | + * |
---|
| 2500 | + * Authentication methods like SAE need to be able to generate a new PMKSA |
---|
| 2501 | + * entry without having to force a disconnection after the PMK timeout. If |
---|
| 2502 | + * no roaming occurs between the reauth threshold and PMK expiration, |
---|
| 2503 | + * disassociation is still forced. |
---|
| 2504 | + * @NL80211_ATTR_RECEIVE_MULTICAST: multicast flag for the |
---|
| 2505 | + * %NL80211_CMD_REGISTER_FRAME command, see the description there. |
---|
| 2506 | + * @NL80211_ATTR_WIPHY_FREQ_OFFSET: offset of the associated |
---|
| 2507 | + * %NL80211_ATTR_WIPHY_FREQ in positive KHz. Only valid when supplied with |
---|
| 2508 | + * an %NL80211_ATTR_WIPHY_FREQ_OFFSET. |
---|
| 2509 | + * @NL80211_ATTR_CENTER_FREQ1_OFFSET: Center frequency offset in KHz for the |
---|
| 2510 | + * first channel segment specified in %NL80211_ATTR_CENTER_FREQ1. |
---|
| 2511 | + * @NL80211_ATTR_SCAN_FREQ_KHZ: nested attribute with KHz frequencies |
---|
| 2512 | + * |
---|
| 2513 | + * @NL80211_ATTR_HE_6GHZ_CAPABILITY: HE 6 GHz Band Capability element (from |
---|
| 2514 | + * association request when used with NL80211_CMD_NEW_STATION). |
---|
| 2515 | + * |
---|
| 2516 | + * @NL80211_ATTR_FILS_DISCOVERY: Optional parameter to configure FILS |
---|
| 2517 | + * discovery. It is a nested attribute, see |
---|
| 2518 | + * &enum nl80211_fils_discovery_attributes. |
---|
| 2519 | + * |
---|
| 2520 | + * @NL80211_ATTR_UNSOL_BCAST_PROBE_RESP: Optional parameter to configure |
---|
| 2521 | + * unsolicited broadcast probe response. It is a nested attribute, see |
---|
| 2522 | + * &enum nl80211_unsol_bcast_probe_resp_attributes. |
---|
| 2523 | + * |
---|
| 2524 | + * @NL80211_ATTR_S1G_CAPABILITY: S1G Capability information element (from |
---|
| 2525 | + * association request when used with NL80211_CMD_NEW_STATION) |
---|
| 2526 | + * @NL80211_ATTR_S1G_CAPABILITY_MASK: S1G Capability Information element |
---|
| 2527 | + * override mask. Used with NL80211_ATTR_S1G_CAPABILITY in |
---|
| 2528 | + * NL80211_CMD_ASSOCIATE or NL80211_CMD_CONNECT. |
---|
| 2529 | + * |
---|
| 2530 | + * @NL80211_ATTR_SAE_PWE: Indicates the mechanism(s) allowed for SAE PWE |
---|
| 2531 | + * derivation in WPA3-Personal networks which are using SAE authentication. |
---|
| 2532 | + * This is a u8 attribute that encapsulates one of the values from |
---|
| 2533 | + * &enum nl80211_sae_pwe_mechanism. |
---|
2353 | 2534 | * |
---|
2354 | 2535 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
---|
2355 | 2536 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
---|
.. | .. |
---|
2657 | 2838 | NL80211_ATTR_CH_SWITCH_COUNT, |
---|
2658 | 2839 | NL80211_ATTR_CH_SWITCH_BLOCK_TX, |
---|
2659 | 2840 | NL80211_ATTR_CSA_IES, |
---|
2660 | | - NL80211_ATTR_CSA_C_OFF_BEACON, |
---|
2661 | | - NL80211_ATTR_CSA_C_OFF_PRESP, |
---|
| 2841 | + NL80211_ATTR_CNTDWN_OFFS_BEACON, |
---|
| 2842 | + NL80211_ATTR_CNTDWN_OFFS_PRESP, |
---|
2662 | 2843 | |
---|
2663 | 2844 | NL80211_ATTR_RXMGMT_FLAGS, |
---|
2664 | 2845 | |
---|
.. | .. |
---|
2819 | 3000 | |
---|
2820 | 3001 | NL80211_ATTR_IFTYPE_AKM_SUITES, |
---|
2821 | 3002 | |
---|
| 3003 | + NL80211_ATTR_TID_CONFIG, |
---|
| 3004 | + |
---|
| 3005 | + NL80211_ATTR_CONTROL_PORT_NO_PREAUTH, |
---|
| 3006 | + |
---|
| 3007 | + NL80211_ATTR_PMK_LIFETIME, |
---|
| 3008 | + NL80211_ATTR_PMK_REAUTH_THRESHOLD, |
---|
| 3009 | + |
---|
| 3010 | + NL80211_ATTR_RECEIVE_MULTICAST, |
---|
| 3011 | + NL80211_ATTR_WIPHY_FREQ_OFFSET, |
---|
| 3012 | + NL80211_ATTR_CENTER_FREQ1_OFFSET, |
---|
| 3013 | + NL80211_ATTR_SCAN_FREQ_KHZ, |
---|
| 3014 | + |
---|
| 3015 | + NL80211_ATTR_HE_6GHZ_CAPABILITY, |
---|
| 3016 | + |
---|
| 3017 | + NL80211_ATTR_FILS_DISCOVERY, |
---|
| 3018 | + |
---|
| 3019 | + NL80211_ATTR_UNSOL_BCAST_PROBE_RESP, |
---|
| 3020 | + |
---|
| 3021 | + NL80211_ATTR_S1G_CAPABILITY, |
---|
| 3022 | + NL80211_ATTR_S1G_CAPABILITY_MASK, |
---|
| 3023 | + |
---|
| 3024 | + NL80211_ATTR_SAE_PWE, |
---|
| 3025 | + |
---|
2822 | 3026 | /* add attributes here, update the policy in nl80211.c */ |
---|
2823 | 3027 | |
---|
2824 | 3028 | __NL80211_ATTR_AFTER_LAST, |
---|
.. | .. |
---|
2831 | 3035 | #define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG |
---|
2832 | 3036 | #define NL80211_ATTR_IFACE_SOCKET_OWNER NL80211_ATTR_SOCKET_OWNER |
---|
2833 | 3037 | #define NL80211_ATTR_SAE_DATA NL80211_ATTR_AUTH_DATA |
---|
| 3038 | +#define NL80211_ATTR_CSA_C_OFF_BEACON NL80211_ATTR_CNTDWN_OFFS_BEACON |
---|
| 3039 | +#define NL80211_ATTR_CSA_C_OFF_PRESP NL80211_ATTR_CNTDWN_OFFS_PRESP |
---|
2834 | 3040 | |
---|
2835 | 3041 | /* |
---|
2836 | 3042 | * Allow user space programs to use #ifdef on new attributes by defining them |
---|
.. | .. |
---|
2862 | 3068 | |
---|
2863 | 3069 | #define NL80211_MAX_SUPP_RATES 32 |
---|
2864 | 3070 | #define NL80211_MAX_SUPP_HT_RATES 77 |
---|
2865 | | -#define NL80211_MAX_SUPP_REG_RULES 64 |
---|
| 3071 | +#define NL80211_MAX_SUPP_REG_RULES 128 |
---|
2866 | 3072 | #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0 |
---|
2867 | 3073 | #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 |
---|
2868 | 3074 | #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 |
---|
.. | .. |
---|
3006 | 3212 | NL80211_RATE_INFO_HE_GI_0_8, |
---|
3007 | 3213 | NL80211_RATE_INFO_HE_GI_1_6, |
---|
3008 | 3214 | NL80211_RATE_INFO_HE_GI_3_2, |
---|
| 3215 | +}; |
---|
| 3216 | + |
---|
| 3217 | +/** |
---|
| 3218 | + * enum nl80211_he_ltf - HE long training field |
---|
| 3219 | + * @NL80211_RATE_INFO_HE_1xLTF: 3.2 usec |
---|
| 3220 | + * @NL80211_RATE_INFO_HE_2xLTF: 6.4 usec |
---|
| 3221 | + * @NL80211_RATE_INFO_HE_4xLTF: 12.8 usec |
---|
| 3222 | + */ |
---|
| 3223 | +enum nl80211_he_ltf { |
---|
| 3224 | + NL80211_RATE_INFO_HE_1XLTF, |
---|
| 3225 | + NL80211_RATE_INFO_HE_2XLTF, |
---|
| 3226 | + NL80211_RATE_INFO_HE_4XLTF, |
---|
3009 | 3227 | }; |
---|
3010 | 3228 | |
---|
3011 | 3229 | /** |
---|
.. | .. |
---|
3187 | 3405 | * received from the station (u64, usec) |
---|
3188 | 3406 | * @NL80211_STA_INFO_PAD: attribute used for padding for 64-bit alignment |
---|
3189 | 3407 | * @NL80211_STA_INFO_ACK_SIGNAL: signal strength of the last ACK frame(u8, dBm) |
---|
3190 | | - * @NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG: avg signal strength of (data) |
---|
3191 | | - * ACK frame (s8, dBm) |
---|
| 3408 | + * @NL80211_STA_INFO_ACK_SIGNAL_AVG: avg signal strength of ACK frames (s8, dBm) |
---|
3192 | 3409 | * @NL80211_STA_INFO_RX_MPDUS: total number of received packets (MPDUs) |
---|
3193 | 3410 | * (u32, from this station) |
---|
3194 | 3411 | * @NL80211_STA_INFO_FCS_ERROR_COUNT: total number of packets (MPDUs) received |
---|
3195 | 3412 | * with an FCS error (u32, from this station). This count may not include |
---|
3196 | 3413 | * some packets with an FCS error due to TA corruption. Hence this counter |
---|
3197 | 3414 | * might not be fully accurate. |
---|
| 3415 | + * @NL80211_STA_INFO_CONNECTED_TO_GATE: set to true if STA has a path to a |
---|
| 3416 | + * mesh gate (u8, 0 or 1) |
---|
| 3417 | + * @NL80211_STA_INFO_TX_DURATION: aggregate PPDU duration for all frames |
---|
| 3418 | + * sent to the station (u64, usec) |
---|
| 3419 | + * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16) |
---|
| 3420 | + * @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station |
---|
| 3421 | + * @NL80211_STA_INFO_ASSOC_AT_BOOTTIME: Timestamp (CLOCK_BOOTTIME, nanoseconds) |
---|
| 3422 | + * of STA's association |
---|
| 3423 | + * @NL80211_STA_INFO_CONNECTED_TO_AS: set to true if STA has a path to a |
---|
| 3424 | + * authentication server (u8, 0 or 1) |
---|
3198 | 3425 | * @__NL80211_STA_INFO_AFTER_LAST: internal |
---|
3199 | 3426 | * @NL80211_STA_INFO_MAX: highest possible station info attribute |
---|
3200 | 3427 | */ |
---|
.. | .. |
---|
3234 | 3461 | NL80211_STA_INFO_RX_DURATION, |
---|
3235 | 3462 | NL80211_STA_INFO_PAD, |
---|
3236 | 3463 | NL80211_STA_INFO_ACK_SIGNAL, |
---|
3237 | | - NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG, |
---|
| 3464 | + NL80211_STA_INFO_ACK_SIGNAL_AVG, |
---|
3238 | 3465 | NL80211_STA_INFO_RX_MPDUS, |
---|
3239 | 3466 | NL80211_STA_INFO_FCS_ERROR_COUNT, |
---|
| 3467 | + NL80211_STA_INFO_CONNECTED_TO_GATE, |
---|
| 3468 | + NL80211_STA_INFO_TX_DURATION, |
---|
| 3469 | + NL80211_STA_INFO_AIRTIME_WEIGHT, |
---|
| 3470 | + NL80211_STA_INFO_AIRTIME_LINK_METRIC, |
---|
| 3471 | + NL80211_STA_INFO_ASSOC_AT_BOOTTIME, |
---|
| 3472 | + NL80211_STA_INFO_CONNECTED_TO_AS, |
---|
3240 | 3473 | |
---|
3241 | 3474 | /* keep last */ |
---|
3242 | 3475 | __NL80211_STA_INFO_AFTER_LAST, |
---|
3243 | 3476 | NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1 |
---|
3244 | 3477 | }; |
---|
| 3478 | + |
---|
| 3479 | +/* we renamed this - stay compatible */ |
---|
| 3480 | +#define NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG NL80211_STA_INFO_ACK_SIGNAL_AVG |
---|
| 3481 | + |
---|
3245 | 3482 | |
---|
3246 | 3483 | /** |
---|
3247 | 3484 | * enum nl80211_tid_stats - per TID statistics attributes |
---|
.. | .. |
---|
3342 | 3579 | * &enum nl80211_mpath_flags; |
---|
3343 | 3580 | * @NL80211_MPATH_INFO_DISCOVERY_TIMEOUT: total path discovery timeout, in msec |
---|
3344 | 3581 | * @NL80211_MPATH_INFO_DISCOVERY_RETRIES: mesh path discovery retries |
---|
| 3582 | + * @NL80211_MPATH_INFO_HOP_COUNT: hop count to destination |
---|
| 3583 | + * @NL80211_MPATH_INFO_PATH_CHANGE: total number of path changes to destination |
---|
3345 | 3584 | * @NL80211_MPATH_INFO_MAX: highest mesh path information attribute number |
---|
3346 | | - * currently defind |
---|
| 3585 | + * currently defined |
---|
3347 | 3586 | * @__NL80211_MPATH_INFO_AFTER_LAST: internal use |
---|
3348 | 3587 | */ |
---|
3349 | 3588 | enum nl80211_mpath_info { |
---|
.. | .. |
---|
3355 | 3594 | NL80211_MPATH_INFO_FLAGS, |
---|
3356 | 3595 | NL80211_MPATH_INFO_DISCOVERY_TIMEOUT, |
---|
3357 | 3596 | NL80211_MPATH_INFO_DISCOVERY_RETRIES, |
---|
| 3597 | + NL80211_MPATH_INFO_HOP_COUNT, |
---|
| 3598 | + NL80211_MPATH_INFO_PATH_CHANGE, |
---|
3358 | 3599 | |
---|
3359 | 3600 | /* keep last */ |
---|
3360 | 3601 | __NL80211_MPATH_INFO_AFTER_LAST, |
---|
.. | .. |
---|
3377 | 3618 | * defined in HE capabilities IE |
---|
3378 | 3619 | * @NL80211_BAND_IFTYPE_ATTR_MAX: highest band HE capability attribute currently |
---|
3379 | 3620 | * defined |
---|
| 3621 | + * @NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA: HE 6GHz band capabilities (__le16), |
---|
| 3622 | + * given for all 6 GHz band channels |
---|
3380 | 3623 | * @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use |
---|
3381 | 3624 | */ |
---|
3382 | 3625 | enum nl80211_band_iftype_attr { |
---|
.. | .. |
---|
3387 | 3630 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY, |
---|
3388 | 3631 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET, |
---|
3389 | 3632 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE, |
---|
| 3633 | + NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA, |
---|
3390 | 3634 | |
---|
3391 | 3635 | /* keep last */ |
---|
3392 | 3636 | __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST, |
---|
.. | .. |
---|
3411 | 3655 | * @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using |
---|
3412 | 3656 | * attributes from &enum nl80211_band_iftype_attr |
---|
3413 | 3657 | * @NL80211_BAND_ATTR_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz |
---|
3414 | | - * channel(s) that are allowed to be used for EDMG transmissions. |
---|
3415 | | - * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. |
---|
| 3658 | + * channel(s) that are allowed to be used for EDMG transmissions. |
---|
| 3659 | + * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. |
---|
3416 | 3660 | * @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes |
---|
3417 | | - * the allowed channel bandwidth configurations. |
---|
3418 | | - * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13. |
---|
| 3661 | + * the allowed channel bandwidth configurations. |
---|
| 3662 | + * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13. |
---|
3419 | 3663 | * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined |
---|
3420 | 3664 | * @__NL80211_BAND_ATTR_AFTER_LAST: internal use |
---|
3421 | 3665 | */ |
---|
.. | .. |
---|
3518 | 3762 | * @NL80211_FREQUENCY_ATTR_WMM: this channel has wmm limitations. |
---|
3519 | 3763 | * This is a nested attribute that contains the wmm limitation per AC. |
---|
3520 | 3764 | * (see &enum nl80211_wmm_rule) |
---|
| 3765 | + * @NL80211_FREQUENCY_ATTR_NO_HE: HE operation is not allowed on this channel |
---|
| 3766 | + * in current regulatory domain. |
---|
| 3767 | + * @NL80211_FREQUENCY_ATTR_OFFSET: frequency offset in KHz |
---|
| 3768 | + * @NL80211_FREQUENCY_ATTR_1MHZ: 1 MHz operation is allowed |
---|
| 3769 | + * on this channel in current regulatory domain. |
---|
| 3770 | + * @NL80211_FREQUENCY_ATTR_2MHZ: 2 MHz operation is allowed |
---|
| 3771 | + * on this channel in current regulatory domain. |
---|
| 3772 | + * @NL80211_FREQUENCY_ATTR_4MHZ: 4 MHz operation is allowed |
---|
| 3773 | + * on this channel in current regulatory domain. |
---|
| 3774 | + * @NL80211_FREQUENCY_ATTR_8MHZ: 8 MHz operation is allowed |
---|
| 3775 | + * on this channel in current regulatory domain. |
---|
| 3776 | + * @NL80211_FREQUENCY_ATTR_16MHZ: 16 MHz operation is allowed |
---|
| 3777 | + * on this channel in current regulatory domain. |
---|
3521 | 3778 | * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number |
---|
3522 | 3779 | * currently defined |
---|
3523 | 3780 | * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use |
---|
.. | .. |
---|
3547 | 3804 | NL80211_FREQUENCY_ATTR_NO_20MHZ, |
---|
3548 | 3805 | NL80211_FREQUENCY_ATTR_NO_10MHZ, |
---|
3549 | 3806 | NL80211_FREQUENCY_ATTR_WMM, |
---|
| 3807 | + NL80211_FREQUENCY_ATTR_NO_HE, |
---|
| 3808 | + NL80211_FREQUENCY_ATTR_OFFSET, |
---|
| 3809 | + NL80211_FREQUENCY_ATTR_1MHZ, |
---|
| 3810 | + NL80211_FREQUENCY_ATTR_2MHZ, |
---|
| 3811 | + NL80211_FREQUENCY_ATTR_4MHZ, |
---|
| 3812 | + NL80211_FREQUENCY_ATTR_8MHZ, |
---|
| 3813 | + NL80211_FREQUENCY_ATTR_16MHZ, |
---|
3550 | 3814 | |
---|
3551 | 3815 | /* keep last */ |
---|
3552 | 3816 | __NL80211_FREQUENCY_ATTR_AFTER_LAST, |
---|
.. | .. |
---|
3692 | 3956 | * value as specified by &struct nl80211_bss_select_rssi_adjust. |
---|
3693 | 3957 | * @NL80211_SCHED_SCAN_MATCH_ATTR_BSSID: BSSID to be used for matching |
---|
3694 | 3958 | * (this cannot be used together with SSID). |
---|
| 3959 | + * @NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI: Nested attribute that carries the |
---|
| 3960 | + * band specific minimum rssi thresholds for the bands defined in |
---|
| 3961 | + * enum nl80211_band. The minimum rssi threshold value(s32) specific to a |
---|
| 3962 | + * band shall be encapsulated in attribute with type value equals to one |
---|
| 3963 | + * of the NL80211_BAND_* defined in enum nl80211_band. For example, the |
---|
| 3964 | + * minimum rssi threshold value for 2.4GHZ band shall be encapsulated |
---|
| 3965 | + * within an attribute of type NL80211_BAND_2GHZ. And one or more of such |
---|
| 3966 | + * attributes will be nested within this attribute. |
---|
3695 | 3967 | * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter |
---|
3696 | 3968 | * attribute number currently defined |
---|
3697 | 3969 | * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use |
---|
.. | .. |
---|
3704 | 3976 | NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI, |
---|
3705 | 3977 | NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST, |
---|
3706 | 3978 | NL80211_SCHED_SCAN_MATCH_ATTR_BSSID, |
---|
| 3979 | + NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI, |
---|
3707 | 3980 | |
---|
3708 | 3981 | /* keep last */ |
---|
3709 | 3982 | __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, |
---|
.. | .. |
---|
3735 | 4008 | * @NL80211_RRF_NO_HT40PLUS: channels can't be used in HT40+ operation |
---|
3736 | 4009 | * @NL80211_RRF_NO_80MHZ: 80MHz operation not allowed |
---|
3737 | 4010 | * @NL80211_RRF_NO_160MHZ: 160MHz operation not allowed |
---|
| 4011 | + * @NL80211_RRF_NO_HE: HE operation not allowed |
---|
3738 | 4012 | */ |
---|
3739 | 4013 | enum nl80211_reg_rule_flags { |
---|
3740 | 4014 | NL80211_RRF_NO_OFDM = 1<<0, |
---|
.. | .. |
---|
3752 | 4026 | NL80211_RRF_NO_HT40PLUS = 1<<14, |
---|
3753 | 4027 | NL80211_RRF_NO_80MHZ = 1<<15, |
---|
3754 | 4028 | NL80211_RRF_NO_160MHZ = 1<<16, |
---|
| 4029 | + NL80211_RRF_NO_HE = 1<<17, |
---|
3755 | 4030 | }; |
---|
3756 | 4031 | |
---|
3757 | 4032 | #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR |
---|
.. | .. |
---|
3825 | 4100 | * @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan |
---|
3826 | 4101 | * (on this channel or globally) |
---|
3827 | 4102 | * @NL80211_SURVEY_INFO_PAD: attribute used for padding for 64-bit alignment |
---|
| 4103 | + * @NL80211_SURVEY_INFO_TIME_BSS_RX: amount of time the radio spent |
---|
| 4104 | + * receiving frames destined to the local BSS |
---|
3828 | 4105 | * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number |
---|
3829 | 4106 | * currently defined |
---|
| 4107 | + * @NL80211_SURVEY_INFO_FREQUENCY_OFFSET: center frequency offset in KHz |
---|
3830 | 4108 | * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use |
---|
3831 | 4109 | */ |
---|
3832 | 4110 | enum nl80211_survey_info { |
---|
.. | .. |
---|
3841 | 4119 | NL80211_SURVEY_INFO_TIME_TX, |
---|
3842 | 4120 | NL80211_SURVEY_INFO_TIME_SCAN, |
---|
3843 | 4121 | NL80211_SURVEY_INFO_PAD, |
---|
| 4122 | + NL80211_SURVEY_INFO_TIME_BSS_RX, |
---|
| 4123 | + NL80211_SURVEY_INFO_FREQUENCY_OFFSET, |
---|
3844 | 4124 | |
---|
3845 | 4125 | /* keep last */ |
---|
3846 | 4126 | __NL80211_SURVEY_INFO_AFTER_LAST, |
---|
.. | .. |
---|
4021 | 4301 | * remove it from the STA's list of peers. You may set this to 0 to disable |
---|
4022 | 4302 | * the removal of the STA. Default is 30 minutes. |
---|
4023 | 4303 | * |
---|
| 4304 | + * @NL80211_MESHCONF_CONNECTED_TO_GATE: If set to true then this mesh STA |
---|
| 4305 | + * will advertise that it is connected to a gate in the mesh formation |
---|
| 4306 | + * field. If left unset then the mesh formation field will only |
---|
| 4307 | + * advertise such if there is an active root mesh path. |
---|
| 4308 | + * |
---|
| 4309 | + * @NL80211_MESHCONF_NOLEARN: Try to avoid multi-hop path discovery (e.g. |
---|
| 4310 | + * PREQ/PREP for HWMP) if the destination is a direct neighbor. Note that |
---|
| 4311 | + * this might not be the optimal decision as a multi-hop route might be |
---|
| 4312 | + * better. So if using this setting you will likely also want to disable |
---|
| 4313 | + * dot11MeshForwarding and use another mesh routing protocol on top. |
---|
| 4314 | + * |
---|
| 4315 | + * @NL80211_MESHCONF_CONNECTED_TO_AS: If set to true then this mesh STA |
---|
| 4316 | + * will advertise that it is connected to a authentication server |
---|
| 4317 | + * in the mesh formation field. |
---|
| 4318 | + * |
---|
4024 | 4319 | * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use |
---|
4025 | 4320 | */ |
---|
4026 | 4321 | enum nl80211_meshconf_params { |
---|
.. | .. |
---|
4053 | 4348 | NL80211_MESHCONF_POWER_MODE, |
---|
4054 | 4349 | NL80211_MESHCONF_AWAKE_WINDOW, |
---|
4055 | 4350 | NL80211_MESHCONF_PLINK_TIMEOUT, |
---|
| 4351 | + NL80211_MESHCONF_CONNECTED_TO_GATE, |
---|
| 4352 | + NL80211_MESHCONF_NOLEARN, |
---|
| 4353 | + NL80211_MESHCONF_CONNECTED_TO_AS, |
---|
4056 | 4354 | |
---|
4057 | 4355 | /* keep last */ |
---|
4058 | 4356 | __NL80211_MESHCONF_ATTR_AFTER_LAST, |
---|
.. | .. |
---|
4183 | 4481 | }; |
---|
4184 | 4482 | |
---|
4185 | 4483 | /** |
---|
| 4484 | + * enum nl80211_key_mode - Key mode |
---|
| 4485 | + * |
---|
| 4486 | + * @NL80211_KEY_RX_TX: (Default) |
---|
| 4487 | + * Key can be used for Rx and Tx immediately |
---|
| 4488 | + * |
---|
| 4489 | + * The following modes can only be selected for unicast keys and when the |
---|
| 4490 | + * driver supports @NL80211_EXT_FEATURE_EXT_KEY_ID: |
---|
| 4491 | + * |
---|
| 4492 | + * @NL80211_KEY_NO_TX: Only allowed in combination with @NL80211_CMD_NEW_KEY: |
---|
| 4493 | + * Unicast key can only be used for Rx, Tx not allowed, yet |
---|
| 4494 | + * @NL80211_KEY_SET_TX: Only allowed in combination with @NL80211_CMD_SET_KEY: |
---|
| 4495 | + * The unicast key identified by idx and mac is cleared for Tx and becomes |
---|
| 4496 | + * the preferred Tx key for the station. |
---|
| 4497 | + */ |
---|
| 4498 | +enum nl80211_key_mode { |
---|
| 4499 | + NL80211_KEY_RX_TX, |
---|
| 4500 | + NL80211_KEY_NO_TX, |
---|
| 4501 | + NL80211_KEY_SET_TX |
---|
| 4502 | +}; |
---|
| 4503 | + |
---|
| 4504 | +/** |
---|
4186 | 4505 | * enum nl80211_chan_width - channel width definitions |
---|
4187 | 4506 | * |
---|
4188 | 4507 | * These values are used with the %NL80211_ATTR_CHANNEL_WIDTH |
---|
.. | .. |
---|
4200 | 4519 | * attribute must be provided as well |
---|
4201 | 4520 | * @NL80211_CHAN_WIDTH_5: 5 MHz OFDM channel |
---|
4202 | 4521 | * @NL80211_CHAN_WIDTH_10: 10 MHz OFDM channel |
---|
| 4522 | + * @NL80211_CHAN_WIDTH_1: 1 MHz OFDM channel |
---|
| 4523 | + * @NL80211_CHAN_WIDTH_2: 2 MHz OFDM channel |
---|
| 4524 | + * @NL80211_CHAN_WIDTH_4: 4 MHz OFDM channel |
---|
| 4525 | + * @NL80211_CHAN_WIDTH_8: 8 MHz OFDM channel |
---|
| 4526 | + * @NL80211_CHAN_WIDTH_16: 16 MHz OFDM channel |
---|
4203 | 4527 | */ |
---|
4204 | 4528 | enum nl80211_chan_width { |
---|
4205 | 4529 | NL80211_CHAN_WIDTH_20_NOHT, |
---|
.. | .. |
---|
4210 | 4534 | NL80211_CHAN_WIDTH_160, |
---|
4211 | 4535 | NL80211_CHAN_WIDTH_5, |
---|
4212 | 4536 | NL80211_CHAN_WIDTH_10, |
---|
| 4537 | + NL80211_CHAN_WIDTH_1, |
---|
| 4538 | + NL80211_CHAN_WIDTH_2, |
---|
| 4539 | + NL80211_CHAN_WIDTH_4, |
---|
| 4540 | + NL80211_CHAN_WIDTH_8, |
---|
| 4541 | + NL80211_CHAN_WIDTH_16, |
---|
4213 | 4542 | }; |
---|
4214 | 4543 | |
---|
4215 | 4544 | /** |
---|
.. | .. |
---|
4220 | 4549 | * @NL80211_BSS_CHAN_WIDTH_20: control channel is 20 MHz wide or compatible |
---|
4221 | 4550 | * @NL80211_BSS_CHAN_WIDTH_10: control channel is 10 MHz wide |
---|
4222 | 4551 | * @NL80211_BSS_CHAN_WIDTH_5: control channel is 5 MHz wide |
---|
| 4552 | + * @NL80211_BSS_CHAN_WIDTH_1: control channel is 1 MHz wide |
---|
| 4553 | + * @NL80211_BSS_CHAN_WIDTH_2: control channel is 2 MHz wide |
---|
4223 | 4554 | */ |
---|
4224 | 4555 | enum nl80211_bss_scan_width { |
---|
4225 | 4556 | NL80211_BSS_CHAN_WIDTH_20, |
---|
4226 | 4557 | NL80211_BSS_CHAN_WIDTH_10, |
---|
4227 | 4558 | NL80211_BSS_CHAN_WIDTH_5, |
---|
| 4559 | + NL80211_BSS_CHAN_WIDTH_1, |
---|
| 4560 | + NL80211_BSS_CHAN_WIDTH_2, |
---|
4228 | 4561 | }; |
---|
4229 | 4562 | |
---|
4230 | 4563 | /** |
---|
.. | .. |
---|
4276 | 4609 | * @NL80211_BSS_CHAIN_SIGNAL: per-chain signal strength of last BSS update. |
---|
4277 | 4610 | * Contains a nested array of signal strength attributes (u8, dBm), |
---|
4278 | 4611 | * using the nesting index as the antenna number. |
---|
| 4612 | + * @NL80211_BSS_FREQUENCY_OFFSET: frequency offset in KHz |
---|
4279 | 4613 | * @__NL80211_BSS_AFTER_LAST: internal |
---|
4280 | 4614 | * @NL80211_BSS_MAX: highest BSS attribute |
---|
4281 | 4615 | */ |
---|
.. | .. |
---|
4300 | 4634 | NL80211_BSS_PARENT_TSF, |
---|
4301 | 4635 | NL80211_BSS_PARENT_BSSID, |
---|
4302 | 4636 | NL80211_BSS_CHAIN_SIGNAL, |
---|
| 4637 | + NL80211_BSS_FREQUENCY_OFFSET, |
---|
4303 | 4638 | |
---|
4304 | 4639 | /* keep last */ |
---|
4305 | 4640 | __NL80211_BSS_AFTER_LAST, |
---|
.. | .. |
---|
4387 | 4722 | enum nl80211_wpa_versions { |
---|
4388 | 4723 | NL80211_WPA_VERSION_1 = 1 << 0, |
---|
4389 | 4724 | NL80211_WPA_VERSION_2 = 1 << 1, |
---|
| 4725 | + NL80211_WPA_VERSION_3 = 1 << 2, |
---|
4390 | 4726 | }; |
---|
4391 | 4727 | |
---|
4392 | 4728 | /** |
---|
.. | .. |
---|
4462 | 4798 | * @NL80211_TXRATE_VHT: VHT rates allowed for TX rate selection, |
---|
4463 | 4799 | * see &struct nl80211_txrate_vht |
---|
4464 | 4800 | * @NL80211_TXRATE_GI: configure GI, see &enum nl80211_txrate_gi |
---|
| 4801 | + * @NL80211_TXRATE_HE: HE rates allowed for TX rate selection, |
---|
| 4802 | + * see &struct nl80211_txrate_he |
---|
| 4803 | + * @NL80211_TXRATE_HE_GI: configure HE GI, 0.8us, 1.6us and 3.2us. |
---|
| 4804 | + * @NL80211_TXRATE_HE_LTF: configure HE LTF, 1XLTF, 2XLTF and 4XLTF. |
---|
4465 | 4805 | * @__NL80211_TXRATE_AFTER_LAST: internal |
---|
4466 | 4806 | * @NL80211_TXRATE_MAX: highest TX rate attribute |
---|
4467 | 4807 | */ |
---|
.. | .. |
---|
4471 | 4811 | NL80211_TXRATE_HT, |
---|
4472 | 4812 | NL80211_TXRATE_VHT, |
---|
4473 | 4813 | NL80211_TXRATE_GI, |
---|
| 4814 | + NL80211_TXRATE_HE, |
---|
| 4815 | + NL80211_TXRATE_HE_GI, |
---|
| 4816 | + NL80211_TXRATE_HE_LTF, |
---|
4474 | 4817 | |
---|
4475 | 4818 | /* keep last */ |
---|
4476 | 4819 | __NL80211_TXRATE_AFTER_LAST, |
---|
.. | .. |
---|
4488 | 4831 | __u16 mcs[NL80211_VHT_NSS_MAX]; |
---|
4489 | 4832 | }; |
---|
4490 | 4833 | |
---|
| 4834 | +#define NL80211_HE_NSS_MAX 8 |
---|
| 4835 | +/** |
---|
| 4836 | + * struct nl80211_txrate_he - HE MCS/NSS txrate bitmap |
---|
| 4837 | + * @mcs: MCS bitmap table for each NSS (array index 0 for 1 stream, etc.) |
---|
| 4838 | + */ |
---|
| 4839 | +struct nl80211_txrate_he { |
---|
| 4840 | + __u16 mcs[NL80211_HE_NSS_MAX]; |
---|
| 4841 | +}; |
---|
| 4842 | + |
---|
4491 | 4843 | enum nl80211_txrate_gi { |
---|
4492 | 4844 | NL80211_TXRATE_DEFAULT_GI, |
---|
4493 | 4845 | NL80211_TXRATE_FORCE_SGI, |
---|
.. | .. |
---|
4498 | 4850 | * enum nl80211_band - Frequency band |
---|
4499 | 4851 | * @NL80211_BAND_2GHZ: 2.4 GHz ISM band |
---|
4500 | 4852 | * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz) |
---|
4501 | | - * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 64.80 GHz) |
---|
| 4853 | + * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz) |
---|
| 4854 | + * @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz) |
---|
| 4855 | + * @NL80211_BAND_S1GHZ: around 900MHz, supported by S1G PHYs |
---|
4502 | 4856 | * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace |
---|
4503 | 4857 | * since newer kernel versions may support more bands |
---|
4504 | 4858 | */ |
---|
.. | .. |
---|
4506 | 4860 | NL80211_BAND_2GHZ, |
---|
4507 | 4861 | NL80211_BAND_5GHZ, |
---|
4508 | 4862 | NL80211_BAND_60GHZ, |
---|
| 4863 | + NL80211_BAND_6GHZ, |
---|
| 4864 | + NL80211_BAND_S1GHZ, |
---|
4509 | 4865 | |
---|
4510 | 4866 | NUM_NL80211_BANDS, |
---|
4511 | 4867 | }; |
---|
.. | .. |
---|
4595 | 4951 | NL80211_TX_POWER_AUTOMATIC, |
---|
4596 | 4952 | NL80211_TX_POWER_LIMITED, |
---|
4597 | 4953 | NL80211_TX_POWER_FIXED, |
---|
| 4954 | +}; |
---|
| 4955 | + |
---|
| 4956 | +/** |
---|
| 4957 | + * enum nl80211_tid_config - TID config state |
---|
| 4958 | + * @NL80211_TID_CONFIG_ENABLE: Enable config for the TID |
---|
| 4959 | + * @NL80211_TID_CONFIG_DISABLE: Disable config for the TID |
---|
| 4960 | + */ |
---|
| 4961 | +enum nl80211_tid_config { |
---|
| 4962 | + NL80211_TID_CONFIG_ENABLE, |
---|
| 4963 | + NL80211_TID_CONFIG_DISABLE, |
---|
| 4964 | +}; |
---|
| 4965 | + |
---|
| 4966 | +/* enum nl80211_tx_rate_setting - TX rate configuration type |
---|
| 4967 | + * @NL80211_TX_RATE_AUTOMATIC: automatically determine TX rate |
---|
| 4968 | + * @NL80211_TX_RATE_LIMITED: limit the TX rate by the TX rate parameter |
---|
| 4969 | + * @NL80211_TX_RATE_FIXED: fix TX rate to the TX rate parameter |
---|
| 4970 | + */ |
---|
| 4971 | +enum nl80211_tx_rate_setting { |
---|
| 4972 | + NL80211_TX_RATE_AUTOMATIC, |
---|
| 4973 | + NL80211_TX_RATE_LIMITED, |
---|
| 4974 | + NL80211_TX_RATE_FIXED, |
---|
| 4975 | +}; |
---|
| 4976 | + |
---|
| 4977 | +/* enum nl80211_tid_config_attr - TID specific configuration. |
---|
| 4978 | + * @NL80211_TID_CONFIG_ATTR_PAD: pad attribute for 64-bit values |
---|
| 4979 | + * @NL80211_TID_CONFIG_ATTR_VIF_SUPP: a bitmap (u64) of attributes supported |
---|
| 4980 | + * for per-vif configuration; doesn't list the ones that are generic |
---|
| 4981 | + * (%NL80211_TID_CONFIG_ATTR_TIDS, %NL80211_TID_CONFIG_ATTR_OVERRIDE). |
---|
| 4982 | + * @NL80211_TID_CONFIG_ATTR_PEER_SUPP: same as the previous per-vif one, but |
---|
| 4983 | + * per peer instead. |
---|
| 4984 | + * @NL80211_TID_CONFIG_ATTR_OVERRIDE: flag attribue, if set indicates |
---|
| 4985 | + * that the new configuration overrides all previous peer |
---|
| 4986 | + * configurations, otherwise previous peer specific configurations |
---|
| 4987 | + * should be left untouched. |
---|
| 4988 | + * @NL80211_TID_CONFIG_ATTR_TIDS: a bitmask value of TIDs (bit 0 to 7) |
---|
| 4989 | + * Its type is u16. |
---|
| 4990 | + * @NL80211_TID_CONFIG_ATTR_NOACK: Configure ack policy for the TID. |
---|
| 4991 | + * specified in %NL80211_TID_CONFIG_ATTR_TID. see %enum nl80211_tid_config. |
---|
| 4992 | + * Its type is u8. |
---|
| 4993 | + * @NL80211_TID_CONFIG_ATTR_RETRY_SHORT: Number of retries used with data frame |
---|
| 4994 | + * transmission, user-space sets this configuration in |
---|
| 4995 | + * &NL80211_CMD_SET_TID_CONFIG. It is u8 type, min value is 1 and |
---|
| 4996 | + * the max value is advertised by the driver in this attribute on |
---|
| 4997 | + * output in wiphy capabilities. |
---|
| 4998 | + * @NL80211_TID_CONFIG_ATTR_RETRY_LONG: Number of retries used with data frame |
---|
| 4999 | + * transmission, user-space sets this configuration in |
---|
| 5000 | + * &NL80211_CMD_SET_TID_CONFIG. Its type is u8, min value is 1 and |
---|
| 5001 | + * the max value is advertised by the driver in this attribute on |
---|
| 5002 | + * output in wiphy capabilities. |
---|
| 5003 | + * @NL80211_TID_CONFIG_ATTR_AMPDU_CTRL: Enable/Disable MPDU aggregation |
---|
| 5004 | + * for the TIDs specified in %NL80211_TID_CONFIG_ATTR_TIDS. |
---|
| 5005 | + * Its type is u8, using the values from &nl80211_tid_config. |
---|
| 5006 | + * @NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL: Enable/Disable RTS_CTS for the TIDs |
---|
| 5007 | + * specified in %NL80211_TID_CONFIG_ATTR_TIDS. It is u8 type, using |
---|
| 5008 | + * the values from &nl80211_tid_config. |
---|
| 5009 | + * @NL80211_TID_CONFIG_ATTR_AMSDU_CTRL: Enable/Disable MSDU aggregation |
---|
| 5010 | + * for the TIDs specified in %NL80211_TID_CONFIG_ATTR_TIDS. |
---|
| 5011 | + * Its type is u8, using the values from &nl80211_tid_config. |
---|
| 5012 | + * @NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE: This attribute will be useful |
---|
| 5013 | + * to notfiy the driver that what type of txrate should be used |
---|
| 5014 | + * for the TIDs specified in %NL80211_TID_CONFIG_ATTR_TIDS. using |
---|
| 5015 | + * the values form &nl80211_tx_rate_setting. |
---|
| 5016 | + * @NL80211_TID_CONFIG_ATTR_TX_RATE: Data frame TX rate mask should be applied |
---|
| 5017 | + * with the parameters passed through %NL80211_ATTR_TX_RATES. |
---|
| 5018 | + * configuration is applied to the data frame for the tid to that connected |
---|
| 5019 | + * station. |
---|
| 5020 | + */ |
---|
| 5021 | +enum nl80211_tid_config_attr { |
---|
| 5022 | + __NL80211_TID_CONFIG_ATTR_INVALID, |
---|
| 5023 | + NL80211_TID_CONFIG_ATTR_PAD, |
---|
| 5024 | + NL80211_TID_CONFIG_ATTR_VIF_SUPP, |
---|
| 5025 | + NL80211_TID_CONFIG_ATTR_PEER_SUPP, |
---|
| 5026 | + NL80211_TID_CONFIG_ATTR_OVERRIDE, |
---|
| 5027 | + NL80211_TID_CONFIG_ATTR_TIDS, |
---|
| 5028 | + NL80211_TID_CONFIG_ATTR_NOACK, |
---|
| 5029 | + NL80211_TID_CONFIG_ATTR_RETRY_SHORT, |
---|
| 5030 | + NL80211_TID_CONFIG_ATTR_RETRY_LONG, |
---|
| 5031 | + NL80211_TID_CONFIG_ATTR_AMPDU_CTRL, |
---|
| 5032 | + NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL, |
---|
| 5033 | + NL80211_TID_CONFIG_ATTR_AMSDU_CTRL, |
---|
| 5034 | + NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE, |
---|
| 5035 | + NL80211_TID_CONFIG_ATTR_TX_RATE, |
---|
| 5036 | + |
---|
| 5037 | + /* keep last */ |
---|
| 5038 | + __NL80211_TID_CONFIG_ATTR_AFTER_LAST, |
---|
| 5039 | + NL80211_TID_CONFIG_ATTR_MAX = __NL80211_TID_CONFIG_ATTR_AFTER_LAST - 1 |
---|
4598 | 5040 | }; |
---|
4599 | 5041 | |
---|
4600 | 5042 | /** |
---|
.. | .. |
---|
4991 | 5433 | * numbers = [ #{STA} <= 1, #{P2P-client,P2P-GO} <= 3 ], max = 4 |
---|
4992 | 5434 | * => allows a STA plus three P2P interfaces |
---|
4993 | 5435 | * |
---|
4994 | | - * The list of these four possiblities could completely be contained |
---|
| 5436 | + * The list of these four possibilities could completely be contained |
---|
4995 | 5437 | * within the %NL80211_ATTR_INTERFACE_COMBINATIONS attribute to indicate |
---|
4996 | 5438 | * that any of these groups must match. |
---|
4997 | 5439 | * |
---|
.. | .. |
---|
5021 | 5463 | * enum nl80211_plink_state - state of a mesh peer link finite state machine |
---|
5022 | 5464 | * |
---|
5023 | 5465 | * @NL80211_PLINK_LISTEN: initial state, considered the implicit |
---|
5024 | | - * state of non existant mesh peer links |
---|
| 5466 | + * state of non existent mesh peer links |
---|
5025 | 5467 | * @NL80211_PLINK_OPN_SNT: mesh plink open frame has been sent to |
---|
5026 | 5468 | * this mesh peer |
---|
5027 | 5469 | * @NL80211_PLINK_OPN_RCVD: mesh plink open frame has been received |
---|
.. | .. |
---|
5068 | 5510 | |
---|
5069 | 5511 | #define NL80211_KCK_LEN 16 |
---|
5070 | 5512 | #define NL80211_KEK_LEN 16 |
---|
| 5513 | +#define NL80211_KCK_EXT_LEN 24 |
---|
| 5514 | +#define NL80211_KEK_EXT_LEN 32 |
---|
5071 | 5515 | #define NL80211_REPLAY_CTR_LEN 8 |
---|
5072 | 5516 | |
---|
5073 | 5517 | /** |
---|
.. | .. |
---|
5076 | 5520 | * @NL80211_REKEY_DATA_KEK: key encryption key (binary) |
---|
5077 | 5521 | * @NL80211_REKEY_DATA_KCK: key confirmation key (binary) |
---|
5078 | 5522 | * @NL80211_REKEY_DATA_REPLAY_CTR: replay counter (binary) |
---|
| 5523 | + * @NL80211_REKEY_DATA_AKM: AKM data (OUI, suite type) |
---|
5079 | 5524 | * @NUM_NL80211_REKEY_DATA: number of rekey attributes (internal) |
---|
5080 | 5525 | * @MAX_NL80211_REKEY_DATA: highest rekey attribute (internal) |
---|
5081 | 5526 | */ |
---|
.. | .. |
---|
5084 | 5529 | NL80211_REKEY_DATA_KEK, |
---|
5085 | 5530 | NL80211_REKEY_DATA_KCK, |
---|
5086 | 5531 | NL80211_REKEY_DATA_REPLAY_CTR, |
---|
| 5532 | + NL80211_REKEY_DATA_AKM, |
---|
5087 | 5533 | |
---|
5088 | 5534 | /* keep last */ |
---|
5089 | 5535 | NUM_NL80211_REKEY_DATA, |
---|
.. | .. |
---|
5297 | 5743 | NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 1 << 28, |
---|
5298 | 5744 | NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 1 << 29, |
---|
5299 | 5745 | NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 1 << 30, |
---|
5300 | | - NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1 << 31, |
---|
| 5746 | + NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1U << 31, |
---|
5301 | 5747 | }; |
---|
5302 | 5748 | |
---|
5303 | 5749 | /** |
---|
5304 | 5750 | * enum nl80211_ext_feature_index - bit index of extended features. |
---|
5305 | 5751 | * @NL80211_EXT_FEATURE_VHT_IBSS: This driver supports IBSS with VHT datarates. |
---|
5306 | 5752 | * @NL80211_EXT_FEATURE_RRM: This driver supports RRM. When featured, user can |
---|
5307 | | - * can request to use RRM (see %NL80211_ATTR_USE_RRM) with |
---|
| 5753 | + * request to use RRM (see %NL80211_ATTR_USE_RRM) with |
---|
5308 | 5754 | * %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests, which will set |
---|
5309 | 5755 | * the ASSOC_REQ_USE_RRM flag in the association request even if |
---|
5310 | 5756 | * NL80211_FEATURE_QUIET is not advertized. |
---|
.. | .. |
---|
5373 | 5819 | * "radar detected" event. |
---|
5374 | 5820 | * @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211: Driver supports sending and |
---|
5375 | 5821 | * receiving control port frames over nl80211 instead of the netdevice. |
---|
5376 | | - * @NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT: This Driver support data ack |
---|
5377 | | - * rssi if firmware support, this flag is to intimate about ack rssi |
---|
5378 | | - * support to nl80211. |
---|
| 5822 | + * @NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT: This driver/device supports |
---|
| 5823 | + * (average) ACK signal strength reporting. |
---|
5379 | 5824 | * @NL80211_EXT_FEATURE_TXQS: Driver supports FQ-CoDel-enabled intermediate |
---|
5380 | 5825 | * TXQs. |
---|
5381 | 5826 | * @NL80211_EXT_FEATURE_SCAN_RANDOM_SN: Driver/device supports randomizing the |
---|
.. | .. |
---|
5387 | 5832 | * timing measurement responder role. |
---|
5388 | 5833 | * |
---|
5389 | 5834 | * @NL80211_EXT_FEATURE_CAN_REPLACE_PTK0: Driver/device confirm that they are |
---|
5390 | | - * able to rekey an in-use key correctly. Userspace must not rekey PTK keys |
---|
5391 | | - * if this flag is not set. Ignoring this can leak clear text packets and/or |
---|
5392 | | - * freeze the connection. |
---|
| 5835 | + * able to rekey an in-use key correctly. Userspace must not rekey PTK keys |
---|
| 5836 | + * if this flag is not set. Ignoring this can leak clear text packets and/or |
---|
| 5837 | + * freeze the connection. |
---|
| 5838 | + * @NL80211_EXT_FEATURE_EXT_KEY_ID: Driver supports "Extended Key ID for |
---|
| 5839 | + * Individually Addressed Frames" from IEEE802.11-2016. |
---|
5393 | 5840 | * |
---|
5394 | 5841 | * @NL80211_EXT_FEATURE_AIRTIME_FAIRNESS: Driver supports getting airtime |
---|
5395 | 5842 | * fairness for transmitted packets and has enabled airtime fairness |
---|
.. | .. |
---|
5417 | 5864 | * |
---|
5418 | 5865 | * @NL80211_EXT_FEATURE_BEACON_PROTECTION: The driver supports Beacon protection |
---|
5419 | 5866 | * and can receive key configuration for BIGTK using key indexes 6 and 7. |
---|
| 5867 | + * @NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT: The driver supports Beacon |
---|
| 5868 | + * protection as a client only and cannot transmit protected beacons. |
---|
| 5869 | + * |
---|
| 5870 | + * @NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH: The driver can disable the |
---|
| 5871 | + * forwarding of preauth frames over the control port. They are then |
---|
| 5872 | + * handled as ordinary data frames. |
---|
| 5873 | + * |
---|
| 5874 | + * @NL80211_EXT_FEATURE_PROTECTED_TWT: Driver supports protected TWT frames |
---|
| 5875 | + * |
---|
| 5876 | + * @NL80211_EXT_FEATURE_DEL_IBSS_STA: The driver supports removing stations |
---|
| 5877 | + * in IBSS mode, essentially by dropping their state. |
---|
| 5878 | + * |
---|
| 5879 | + * @NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS: management frame registrations |
---|
| 5880 | + * are possible for multicast frames and those will be reported properly. |
---|
| 5881 | + * |
---|
| 5882 | + * @NL80211_EXT_FEATURE_SCAN_FREQ_KHZ: This driver supports receiving and |
---|
| 5883 | + * reporting scan request with %NL80211_ATTR_SCAN_FREQ_KHZ. In order to |
---|
| 5884 | + * report %NL80211_ATTR_SCAN_FREQ_KHZ, %NL80211_SCAN_FLAG_FREQ_KHZ must be |
---|
| 5885 | + * included in the scan request. |
---|
| 5886 | + * |
---|
| 5887 | + * @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS: The driver |
---|
| 5888 | + * can report tx status for control port over nl80211 tx operations. |
---|
| 5889 | + * |
---|
| 5890 | + * @NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION: Driver supports Operating |
---|
| 5891 | + * Channel Validation (OCV) when using driver's SME for RSNA handshakes. |
---|
| 5892 | + * |
---|
| 5893 | + * @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK: Device wants to do 4-way |
---|
| 5894 | + * handshake with PSK in AP mode (PSK is passed as part of the start AP |
---|
| 5895 | + * command). |
---|
| 5896 | + * |
---|
| 5897 | + * @NL80211_EXT_FEATURE_SAE_OFFLOAD_AP: Device wants to do SAE authentication |
---|
| 5898 | + * in AP mode (SAE password is passed as part of the start AP command). |
---|
| 5899 | + * |
---|
| 5900 | + * @NL80211_EXT_FEATURE_FILS_DISCOVERY: Driver/device supports FILS discovery |
---|
| 5901 | + * frames transmission |
---|
| 5902 | + * |
---|
| 5903 | + * @NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP: Driver/device supports |
---|
| 5904 | + * unsolicited broadcast probe response transmission |
---|
5420 | 5905 | * |
---|
5421 | 5906 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
---|
5422 | 5907 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
---|
.. | .. |
---|
5449 | 5934 | NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN, |
---|
5450 | 5935 | NL80211_EXT_FEATURE_DFS_OFFLOAD, |
---|
5451 | 5936 | NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211, |
---|
5452 | | - NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT, |
---|
| 5937 | + NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT, |
---|
| 5938 | + /* we renamed this - stay compatible */ |
---|
| 5939 | + NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT = NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT, |
---|
5453 | 5940 | NL80211_EXT_FEATURE_TXQS, |
---|
5454 | 5941 | NL80211_EXT_FEATURE_SCAN_RANDOM_SN, |
---|
5455 | 5942 | NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT, |
---|
.. | .. |
---|
5464 | 5951 | NL80211_EXT_FEATURE_VLAN_OFFLOAD, |
---|
5465 | 5952 | NL80211_EXT_FEATURE_AQL, |
---|
5466 | 5953 | NL80211_EXT_FEATURE_BEACON_PROTECTION, |
---|
| 5954 | + NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH, |
---|
| 5955 | + NL80211_EXT_FEATURE_PROTECTED_TWT, |
---|
| 5956 | + NL80211_EXT_FEATURE_DEL_IBSS_STA, |
---|
| 5957 | + NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS, |
---|
| 5958 | + NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT, |
---|
| 5959 | + NL80211_EXT_FEATURE_SCAN_FREQ_KHZ, |
---|
| 5960 | + NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS, |
---|
| 5961 | + NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION, |
---|
| 5962 | + NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK, |
---|
| 5963 | + NL80211_EXT_FEATURE_SAE_OFFLOAD_AP, |
---|
| 5964 | + NL80211_EXT_FEATURE_FILS_DISCOVERY, |
---|
| 5965 | + NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP, |
---|
5467 | 5966 | |
---|
5468 | 5967 | /* add new features before the definition below */ |
---|
5469 | 5968 | NUM_NL80211_EXT_FEATURES, |
---|
.. | .. |
---|
5548 | 6047 | * request parameters IE in the probe request |
---|
5549 | 6048 | * @NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP: accept broadcast probe responses |
---|
5550 | 6049 | * @NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE: send probe request frames at |
---|
5551 | | - * rate of at least 5.5M. In case non OCE AP is dicovered in the channel, |
---|
| 6050 | + * rate of at least 5.5M. In case non OCE AP is discovered in the channel, |
---|
5552 | 6051 | * only the first probe req in the channel will be sent in high rate. |
---|
5553 | 6052 | * @NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION: allow probe request |
---|
5554 | 6053 | * tx deferral (dot11FILSProbeDelay shall be set to 15ms) |
---|
.. | .. |
---|
5575 | 6074 | * @NL80211_SCAN_FLAG_MIN_PREQ_CONTENT: minimize probe request content to |
---|
5576 | 6075 | * only have supported rates and no additional capabilities (unless |
---|
5577 | 6076 | * added by userspace explicitly.) |
---|
| 6077 | + * @NL80211_SCAN_FLAG_FREQ_KHZ: report scan results with |
---|
| 6078 | + * %NL80211_ATTR_SCAN_FREQ_KHZ. This also means |
---|
| 6079 | + * %NL80211_ATTR_SCAN_FREQUENCIES will not be included. |
---|
| 6080 | + * @NL80211_SCAN_FLAG_COLOCATED_6GHZ: scan for colocated APs reported by |
---|
| 6081 | + * 2.4/5 GHz APs |
---|
5578 | 6082 | */ |
---|
5579 | 6083 | enum nl80211_scan_flags { |
---|
5580 | 6084 | NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, |
---|
.. | .. |
---|
5590 | 6094 | NL80211_SCAN_FLAG_HIGH_ACCURACY = 1<<10, |
---|
5591 | 6095 | NL80211_SCAN_FLAG_RANDOM_SN = 1<<11, |
---|
5592 | 6096 | NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 1<<12, |
---|
| 6097 | + NL80211_SCAN_FLAG_FREQ_KHZ = 1<<13, |
---|
| 6098 | + NL80211_SCAN_FLAG_COLOCATED_6GHZ = 1<<14, |
---|
5593 | 6099 | }; |
---|
5594 | 6100 | |
---|
5595 | 6101 | /** |
---|
.. | .. |
---|
5677 | 6183 | }; |
---|
5678 | 6184 | |
---|
5679 | 6185 | /** |
---|
5680 | | - * enum enum nl80211_protocol_features - nl80211 protocol features |
---|
| 6186 | + * enum nl80211_protocol_features - nl80211 protocol features |
---|
5681 | 6187 | * @NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP: nl80211 supports splitting |
---|
5682 | 6188 | * wiphy dumps (if requested by the application with the attribute |
---|
5683 | 6189 | * %NL80211_ATTR_SPLIT_WIPHY_DUMP. Also supported is filtering the |
---|
.. | .. |
---|
6009 | 6515 | }; |
---|
6010 | 6516 | |
---|
6011 | 6517 | /** |
---|
| 6518 | + * enum nl80211_ftm_responder_attributes - fine timing measurement |
---|
| 6519 | + * responder attributes |
---|
| 6520 | + * @__NL80211_FTM_RESP_ATTR_INVALID: Invalid |
---|
| 6521 | + * @NL80211_FTM_RESP_ATTR_ENABLED: FTM responder is enabled |
---|
| 6522 | + * @NL80211_FTM_RESP_ATTR_LCI: The content of Measurement Report Element |
---|
| 6523 | + * (9.4.2.22 in 802.11-2016) with type 8 - LCI (9.4.2.22.10), |
---|
| 6524 | + * i.e. starting with the measurement token |
---|
| 6525 | + * @NL80211_FTM_RESP_ATTR_CIVIC: The content of Measurement Report Element |
---|
| 6526 | + * (9.4.2.22 in 802.11-2016) with type 11 - Civic (Section 9.4.2.22.13), |
---|
| 6527 | + * i.e. starting with the measurement token |
---|
| 6528 | + * @__NL80211_FTM_RESP_ATTR_LAST: Internal |
---|
| 6529 | + * @NL80211_FTM_RESP_ATTR_MAX: highest FTM responder attribute. |
---|
| 6530 | + */ |
---|
| 6531 | +enum nl80211_ftm_responder_attributes { |
---|
| 6532 | + __NL80211_FTM_RESP_ATTR_INVALID, |
---|
| 6533 | + |
---|
| 6534 | + NL80211_FTM_RESP_ATTR_ENABLED, |
---|
| 6535 | + NL80211_FTM_RESP_ATTR_LCI, |
---|
| 6536 | + NL80211_FTM_RESP_ATTR_CIVICLOC, |
---|
| 6537 | + |
---|
| 6538 | + /* keep last */ |
---|
| 6539 | + __NL80211_FTM_RESP_ATTR_LAST, |
---|
| 6540 | + NL80211_FTM_RESP_ATTR_MAX = __NL80211_FTM_RESP_ATTR_LAST - 1, |
---|
| 6541 | +}; |
---|
| 6542 | + |
---|
| 6543 | +/* |
---|
| 6544 | + * enum nl80211_ftm_responder_stats - FTM responder statistics |
---|
| 6545 | + * |
---|
| 6546 | + * These attribute types are used with %NL80211_ATTR_FTM_RESPONDER_STATS |
---|
| 6547 | + * when getting FTM responder statistics. |
---|
| 6548 | + * |
---|
| 6549 | + * @__NL80211_FTM_STATS_INVALID: attribute number 0 is reserved |
---|
| 6550 | + * @NL80211_FTM_STATS_SUCCESS_NUM: number of FTM sessions in which all frames |
---|
| 6551 | + * were ssfully answered (u32) |
---|
| 6552 | + * @NL80211_FTM_STATS_PARTIAL_NUM: number of FTM sessions in which part of the |
---|
| 6553 | + * frames were successfully answered (u32) |
---|
| 6554 | + * @NL80211_FTM_STATS_FAILED_NUM: number of failed FTM sessions (u32) |
---|
| 6555 | + * @NL80211_FTM_STATS_ASAP_NUM: number of ASAP sessions (u32) |
---|
| 6556 | + * @NL80211_FTM_STATS_NON_ASAP_NUM: number of non-ASAP sessions (u32) |
---|
| 6557 | + * @NL80211_FTM_STATS_TOTAL_DURATION_MSEC: total sessions durations - gives an |
---|
| 6558 | + * indication of how much time the responder was busy (u64, msec) |
---|
| 6559 | + * @NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM: number of unknown FTM triggers - |
---|
| 6560 | + * triggers from initiators that didn't finish successfully the negotiation |
---|
| 6561 | + * phase with the responder (u32) |
---|
| 6562 | + * @NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM: number of FTM reschedule requests |
---|
| 6563 | + * - initiator asks for a new scheduling although it already has scheduled |
---|
| 6564 | + * FTM slot (u32) |
---|
| 6565 | + * @NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM: number of FTM triggers out of |
---|
| 6566 | + * scheduled window (u32) |
---|
| 6567 | + * @NL80211_FTM_STATS_PAD: used for padding, ignore |
---|
| 6568 | + * @__NL80211_TXQ_ATTR_AFTER_LAST: Internal |
---|
| 6569 | + * @NL80211_FTM_STATS_MAX: highest possible FTM responder stats attribute |
---|
| 6570 | + */ |
---|
| 6571 | +enum nl80211_ftm_responder_stats { |
---|
| 6572 | + __NL80211_FTM_STATS_INVALID, |
---|
| 6573 | + NL80211_FTM_STATS_SUCCESS_NUM, |
---|
| 6574 | + NL80211_FTM_STATS_PARTIAL_NUM, |
---|
| 6575 | + NL80211_FTM_STATS_FAILED_NUM, |
---|
| 6576 | + NL80211_FTM_STATS_ASAP_NUM, |
---|
| 6577 | + NL80211_FTM_STATS_NON_ASAP_NUM, |
---|
| 6578 | + NL80211_FTM_STATS_TOTAL_DURATION_MSEC, |
---|
| 6579 | + NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM, |
---|
| 6580 | + NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM, |
---|
| 6581 | + NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM, |
---|
| 6582 | + NL80211_FTM_STATS_PAD, |
---|
| 6583 | + |
---|
| 6584 | + /* keep last */ |
---|
| 6585 | + __NL80211_FTM_STATS_AFTER_LAST, |
---|
| 6586 | + NL80211_FTM_STATS_MAX = __NL80211_FTM_STATS_AFTER_LAST - 1 |
---|
| 6587 | +}; |
---|
| 6588 | + |
---|
| 6589 | +/** |
---|
| 6590 | + * enum nl80211_preamble - frame preamble types |
---|
| 6591 | + * @NL80211_PREAMBLE_LEGACY: legacy (HR/DSSS, OFDM, ERP PHY) preamble |
---|
| 6592 | + * @NL80211_PREAMBLE_HT: HT preamble |
---|
| 6593 | + * @NL80211_PREAMBLE_VHT: VHT preamble |
---|
| 6594 | + * @NL80211_PREAMBLE_DMG: DMG preamble |
---|
| 6595 | + * @NL80211_PREAMBLE_HE: HE preamble |
---|
| 6596 | + */ |
---|
| 6597 | +enum nl80211_preamble { |
---|
| 6598 | + NL80211_PREAMBLE_LEGACY, |
---|
| 6599 | + NL80211_PREAMBLE_HT, |
---|
| 6600 | + NL80211_PREAMBLE_VHT, |
---|
| 6601 | + NL80211_PREAMBLE_DMG, |
---|
| 6602 | + NL80211_PREAMBLE_HE, |
---|
| 6603 | +}; |
---|
| 6604 | + |
---|
| 6605 | +/** |
---|
| 6606 | + * enum nl80211_peer_measurement_type - peer measurement types |
---|
| 6607 | + * @NL80211_PMSR_TYPE_INVALID: invalid/unused, needed as we use |
---|
| 6608 | + * these numbers also for attributes |
---|
| 6609 | + * |
---|
| 6610 | + * @NL80211_PMSR_TYPE_FTM: flight time measurement |
---|
| 6611 | + * |
---|
| 6612 | + * @NUM_NL80211_PMSR_TYPES: internal |
---|
| 6613 | + * @NL80211_PMSR_TYPE_MAX: highest type number |
---|
| 6614 | + */ |
---|
| 6615 | +enum nl80211_peer_measurement_type { |
---|
| 6616 | + NL80211_PMSR_TYPE_INVALID, |
---|
| 6617 | + |
---|
| 6618 | + NL80211_PMSR_TYPE_FTM, |
---|
| 6619 | + |
---|
| 6620 | + NUM_NL80211_PMSR_TYPES, |
---|
| 6621 | + NL80211_PMSR_TYPE_MAX = NUM_NL80211_PMSR_TYPES - 1 |
---|
| 6622 | +}; |
---|
| 6623 | + |
---|
| 6624 | +/** |
---|
| 6625 | + * enum nl80211_peer_measurement_status - peer measurement status |
---|
| 6626 | + * @NL80211_PMSR_STATUS_SUCCESS: measurement completed successfully |
---|
| 6627 | + * @NL80211_PMSR_STATUS_REFUSED: measurement was locally refused |
---|
| 6628 | + * @NL80211_PMSR_STATUS_TIMEOUT: measurement timed out |
---|
| 6629 | + * @NL80211_PMSR_STATUS_FAILURE: measurement failed, a type-dependent |
---|
| 6630 | + * reason may be available in the response data |
---|
| 6631 | + */ |
---|
| 6632 | +enum nl80211_peer_measurement_status { |
---|
| 6633 | + NL80211_PMSR_STATUS_SUCCESS, |
---|
| 6634 | + NL80211_PMSR_STATUS_REFUSED, |
---|
| 6635 | + NL80211_PMSR_STATUS_TIMEOUT, |
---|
| 6636 | + NL80211_PMSR_STATUS_FAILURE, |
---|
| 6637 | +}; |
---|
| 6638 | + |
---|
| 6639 | +/** |
---|
| 6640 | + * enum nl80211_peer_measurement_req - peer measurement request attributes |
---|
| 6641 | + * @__NL80211_PMSR_REQ_ATTR_INVALID: invalid |
---|
| 6642 | + * |
---|
| 6643 | + * @NL80211_PMSR_REQ_ATTR_DATA: This is a nested attribute with measurement |
---|
| 6644 | + * type-specific request data inside. The attributes used are from the |
---|
| 6645 | + * enums named nl80211_peer_measurement_<type>_req. |
---|
| 6646 | + * @NL80211_PMSR_REQ_ATTR_GET_AP_TSF: include AP TSF timestamp, if supported |
---|
| 6647 | + * (flag attribute) |
---|
| 6648 | + * |
---|
| 6649 | + * @NUM_NL80211_PMSR_REQ_ATTRS: internal |
---|
| 6650 | + * @NL80211_PMSR_REQ_ATTR_MAX: highest attribute number |
---|
| 6651 | + */ |
---|
| 6652 | +enum nl80211_peer_measurement_req { |
---|
| 6653 | + __NL80211_PMSR_REQ_ATTR_INVALID, |
---|
| 6654 | + |
---|
| 6655 | + NL80211_PMSR_REQ_ATTR_DATA, |
---|
| 6656 | + NL80211_PMSR_REQ_ATTR_GET_AP_TSF, |
---|
| 6657 | + |
---|
| 6658 | + /* keep last */ |
---|
| 6659 | + NUM_NL80211_PMSR_REQ_ATTRS, |
---|
| 6660 | + NL80211_PMSR_REQ_ATTR_MAX = NUM_NL80211_PMSR_REQ_ATTRS - 1 |
---|
| 6661 | +}; |
---|
| 6662 | + |
---|
| 6663 | +/** |
---|
| 6664 | + * enum nl80211_peer_measurement_resp - peer measurement response attributes |
---|
| 6665 | + * @__NL80211_PMSR_RESP_ATTR_INVALID: invalid |
---|
| 6666 | + * |
---|
| 6667 | + * @NL80211_PMSR_RESP_ATTR_DATA: This is a nested attribute with measurement |
---|
| 6668 | + * type-specific results inside. The attributes used are from the enums |
---|
| 6669 | + * named nl80211_peer_measurement_<type>_resp. |
---|
| 6670 | + * @NL80211_PMSR_RESP_ATTR_STATUS: u32 value with the measurement status |
---|
| 6671 | + * (using values from &enum nl80211_peer_measurement_status.) |
---|
| 6672 | + * @NL80211_PMSR_RESP_ATTR_HOST_TIME: host time (%CLOCK_BOOTTIME) when the |
---|
| 6673 | + * result was measured; this value is not expected to be accurate to |
---|
| 6674 | + * more than 20ms. (u64, nanoseconds) |
---|
| 6675 | + * @NL80211_PMSR_RESP_ATTR_AP_TSF: TSF of the AP that the interface |
---|
| 6676 | + * doing the measurement is connected to when the result was measured. |
---|
| 6677 | + * This shall be accurately reported if supported and requested |
---|
| 6678 | + * (u64, usec) |
---|
| 6679 | + * @NL80211_PMSR_RESP_ATTR_FINAL: If results are sent to the host partially |
---|
| 6680 | + * (*e.g. with FTM per-burst data) this flag will be cleared on all but |
---|
| 6681 | + * the last result; if all results are combined it's set on the single |
---|
| 6682 | + * result. |
---|
| 6683 | + * @NL80211_PMSR_RESP_ATTR_PAD: padding for 64-bit attributes, ignore |
---|
| 6684 | + * |
---|
| 6685 | + * @NUM_NL80211_PMSR_RESP_ATTRS: internal |
---|
| 6686 | + * @NL80211_PMSR_RESP_ATTR_MAX: highest attribute number |
---|
| 6687 | + */ |
---|
| 6688 | +enum nl80211_peer_measurement_resp { |
---|
| 6689 | + __NL80211_PMSR_RESP_ATTR_INVALID, |
---|
| 6690 | + |
---|
| 6691 | + NL80211_PMSR_RESP_ATTR_DATA, |
---|
| 6692 | + NL80211_PMSR_RESP_ATTR_STATUS, |
---|
| 6693 | + NL80211_PMSR_RESP_ATTR_HOST_TIME, |
---|
| 6694 | + NL80211_PMSR_RESP_ATTR_AP_TSF, |
---|
| 6695 | + NL80211_PMSR_RESP_ATTR_FINAL, |
---|
| 6696 | + NL80211_PMSR_RESP_ATTR_PAD, |
---|
| 6697 | + |
---|
| 6698 | + /* keep last */ |
---|
| 6699 | + NUM_NL80211_PMSR_RESP_ATTRS, |
---|
| 6700 | + NL80211_PMSR_RESP_ATTR_MAX = NUM_NL80211_PMSR_RESP_ATTRS - 1 |
---|
| 6701 | +}; |
---|
| 6702 | + |
---|
| 6703 | +/** |
---|
| 6704 | + * enum nl80211_peer_measurement_peer_attrs - peer attributes for measurement |
---|
| 6705 | + * @__NL80211_PMSR_PEER_ATTR_INVALID: invalid |
---|
| 6706 | + * |
---|
| 6707 | + * @NL80211_PMSR_PEER_ATTR_ADDR: peer's MAC address |
---|
| 6708 | + * @NL80211_PMSR_PEER_ATTR_CHAN: channel definition, nested, using top-level |
---|
| 6709 | + * attributes like %NL80211_ATTR_WIPHY_FREQ etc. |
---|
| 6710 | + * @NL80211_PMSR_PEER_ATTR_REQ: This is a nested attribute indexed by |
---|
| 6711 | + * measurement type, with attributes from the |
---|
| 6712 | + * &enum nl80211_peer_measurement_req inside. |
---|
| 6713 | + * @NL80211_PMSR_PEER_ATTR_RESP: This is a nested attribute indexed by |
---|
| 6714 | + * measurement type, with attributes from the |
---|
| 6715 | + * &enum nl80211_peer_measurement_resp inside. |
---|
| 6716 | + * |
---|
| 6717 | + * @NUM_NL80211_PMSR_PEER_ATTRS: internal |
---|
| 6718 | + * @NL80211_PMSR_PEER_ATTR_MAX: highest attribute number |
---|
| 6719 | + */ |
---|
| 6720 | +enum nl80211_peer_measurement_peer_attrs { |
---|
| 6721 | + __NL80211_PMSR_PEER_ATTR_INVALID, |
---|
| 6722 | + |
---|
| 6723 | + NL80211_PMSR_PEER_ATTR_ADDR, |
---|
| 6724 | + NL80211_PMSR_PEER_ATTR_CHAN, |
---|
| 6725 | + NL80211_PMSR_PEER_ATTR_REQ, |
---|
| 6726 | + NL80211_PMSR_PEER_ATTR_RESP, |
---|
| 6727 | + |
---|
| 6728 | + /* keep last */ |
---|
| 6729 | + NUM_NL80211_PMSR_PEER_ATTRS, |
---|
| 6730 | + NL80211_PMSR_PEER_ATTR_MAX = NUM_NL80211_PMSR_PEER_ATTRS - 1, |
---|
| 6731 | +}; |
---|
| 6732 | + |
---|
| 6733 | +/** |
---|
| 6734 | + * enum nl80211_peer_measurement_attrs - peer measurement attributes |
---|
| 6735 | + * @__NL80211_PMSR_ATTR_INVALID: invalid |
---|
| 6736 | + * |
---|
| 6737 | + * @NL80211_PMSR_ATTR_MAX_PEERS: u32 attribute used for capability |
---|
| 6738 | + * advertisement only, indicates the maximum number of peers |
---|
| 6739 | + * measurements can be done with in a single request |
---|
| 6740 | + * @NL80211_PMSR_ATTR_REPORT_AP_TSF: flag attribute in capability |
---|
| 6741 | + * indicating that the connected AP's TSF can be reported in |
---|
| 6742 | + * measurement results |
---|
| 6743 | + * @NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR: flag attribute in capability |
---|
| 6744 | + * indicating that MAC address randomization is supported. |
---|
| 6745 | + * @NL80211_PMSR_ATTR_TYPE_CAPA: capabilities reported by the device, |
---|
| 6746 | + * this contains a nesting indexed by measurement type, and |
---|
| 6747 | + * type-specific capabilities inside, which are from the enums |
---|
| 6748 | + * named nl80211_peer_measurement_<type>_capa. |
---|
| 6749 | + * @NL80211_PMSR_ATTR_PEERS: nested attribute, the nesting index is |
---|
| 6750 | + * meaningless, just a list of peers to measure with, with the |
---|
| 6751 | + * sub-attributes taken from |
---|
| 6752 | + * &enum nl80211_peer_measurement_peer_attrs. |
---|
| 6753 | + * |
---|
| 6754 | + * @NUM_NL80211_PMSR_ATTR: internal |
---|
| 6755 | + * @NL80211_PMSR_ATTR_MAX: highest attribute number |
---|
| 6756 | + */ |
---|
| 6757 | +enum nl80211_peer_measurement_attrs { |
---|
| 6758 | + __NL80211_PMSR_ATTR_INVALID, |
---|
| 6759 | + |
---|
| 6760 | + NL80211_PMSR_ATTR_MAX_PEERS, |
---|
| 6761 | + NL80211_PMSR_ATTR_REPORT_AP_TSF, |
---|
| 6762 | + NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR, |
---|
| 6763 | + NL80211_PMSR_ATTR_TYPE_CAPA, |
---|
| 6764 | + NL80211_PMSR_ATTR_PEERS, |
---|
| 6765 | + |
---|
| 6766 | + /* keep last */ |
---|
| 6767 | + NUM_NL80211_PMSR_ATTR, |
---|
| 6768 | + NL80211_PMSR_ATTR_MAX = NUM_NL80211_PMSR_ATTR - 1 |
---|
| 6769 | +}; |
---|
| 6770 | + |
---|
| 6771 | +/** |
---|
| 6772 | + * enum nl80211_peer_measurement_ftm_capa - FTM capabilities |
---|
| 6773 | + * @__NL80211_PMSR_FTM_CAPA_ATTR_INVALID: invalid |
---|
| 6774 | + * |
---|
| 6775 | + * @NL80211_PMSR_FTM_CAPA_ATTR_ASAP: flag attribute indicating ASAP mode |
---|
| 6776 | + * is supported |
---|
| 6777 | + * @NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP: flag attribute indicating non-ASAP |
---|
| 6778 | + * mode is supported |
---|
| 6779 | + * @NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI: flag attribute indicating if LCI |
---|
| 6780 | + * data can be requested during the measurement |
---|
| 6781 | + * @NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC: flag attribute indicating if civic |
---|
| 6782 | + * location data can be requested during the measurement |
---|
| 6783 | + * @NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES: u32 bitmap attribute of bits |
---|
| 6784 | + * from &enum nl80211_preamble. |
---|
| 6785 | + * @NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS: bitmap of values from |
---|
| 6786 | + * &enum nl80211_chan_width indicating the supported channel |
---|
| 6787 | + * bandwidths for FTM. Note that a higher channel bandwidth may be |
---|
| 6788 | + * configured to allow for other measurements types with different |
---|
| 6789 | + * bandwidth requirement in the same measurement. |
---|
| 6790 | + * @NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT: u32 attribute indicating |
---|
| 6791 | + * the maximum bursts exponent that can be used (if not present anything |
---|
| 6792 | + * is valid) |
---|
| 6793 | + * @NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST: u32 attribute indicating |
---|
| 6794 | + * the maximum FTMs per burst (if not present anything is valid) |
---|
| 6795 | + * @NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED: flag attribute indicating if |
---|
| 6796 | + * trigger based ranging measurement is supported |
---|
| 6797 | + * @NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED: flag attribute indicating |
---|
| 6798 | + * if non trigger based ranging measurement is supported |
---|
| 6799 | + * |
---|
| 6800 | + * @NUM_NL80211_PMSR_FTM_CAPA_ATTR: internal |
---|
| 6801 | + * @NL80211_PMSR_FTM_CAPA_ATTR_MAX: highest attribute number |
---|
| 6802 | + */ |
---|
| 6803 | +enum nl80211_peer_measurement_ftm_capa { |
---|
| 6804 | + __NL80211_PMSR_FTM_CAPA_ATTR_INVALID, |
---|
| 6805 | + |
---|
| 6806 | + NL80211_PMSR_FTM_CAPA_ATTR_ASAP, |
---|
| 6807 | + NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP, |
---|
| 6808 | + NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI, |
---|
| 6809 | + NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC, |
---|
| 6810 | + NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES, |
---|
| 6811 | + NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS, |
---|
| 6812 | + NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT, |
---|
| 6813 | + NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST, |
---|
| 6814 | + NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED, |
---|
| 6815 | + NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED, |
---|
| 6816 | + |
---|
| 6817 | + /* keep last */ |
---|
| 6818 | + NUM_NL80211_PMSR_FTM_CAPA_ATTR, |
---|
| 6819 | + NL80211_PMSR_FTM_CAPA_ATTR_MAX = NUM_NL80211_PMSR_FTM_CAPA_ATTR - 1 |
---|
| 6820 | +}; |
---|
| 6821 | + |
---|
| 6822 | +/** |
---|
| 6823 | + * enum nl80211_peer_measurement_ftm_req - FTM request attributes |
---|
| 6824 | + * @__NL80211_PMSR_FTM_REQ_ATTR_INVALID: invalid |
---|
| 6825 | + * |
---|
| 6826 | + * @NL80211_PMSR_FTM_REQ_ATTR_ASAP: ASAP mode requested (flag) |
---|
| 6827 | + * @NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE: preamble type (see |
---|
| 6828 | + * &enum nl80211_preamble), optional for DMG (u32) |
---|
| 6829 | + * @NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP: number of bursts exponent as in |
---|
| 6830 | + * 802.11-2016 9.4.2.168 "Fine Timing Measurement Parameters element" |
---|
| 6831 | + * (u8, 0-15, optional with default 15 i.e. "no preference") |
---|
| 6832 | + * @NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD: interval between bursts in units |
---|
| 6833 | + * of 100ms (u16, optional with default 0) |
---|
| 6834 | + * @NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION: burst duration, as in 802.11-2016 |
---|
| 6835 | + * Table 9-257 "Burst Duration field encoding" (u8, 0-15, optional with |
---|
| 6836 | + * default 15 i.e. "no preference") |
---|
| 6837 | + * @NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST: number of successful FTM frames |
---|
| 6838 | + * requested per burst |
---|
| 6839 | + * (u8, 0-31, optional with default 0 i.e. "no preference") |
---|
| 6840 | + * @NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES: number of FTMR frame retries |
---|
| 6841 | + * (u8, default 3) |
---|
| 6842 | + * @NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI: request LCI data (flag) |
---|
| 6843 | + * @NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC: request civic location data |
---|
| 6844 | + * (flag) |
---|
| 6845 | + * @NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED: request trigger based ranging |
---|
| 6846 | + * measurement (flag). |
---|
| 6847 | + * This attribute and %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED are |
---|
| 6848 | + * mutually exclusive. |
---|
| 6849 | + * if neither %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED nor |
---|
| 6850 | + * %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set, EDCA based |
---|
| 6851 | + * ranging will be used. |
---|
| 6852 | + * @NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED: request non trigger based |
---|
| 6853 | + * ranging measurement (flag) |
---|
| 6854 | + * This attribute and %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED are |
---|
| 6855 | + * mutually exclusive. |
---|
| 6856 | + * if neither %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED nor |
---|
| 6857 | + * %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set, EDCA based |
---|
| 6858 | + * ranging will be used. |
---|
| 6859 | + * |
---|
| 6860 | + * @NUM_NL80211_PMSR_FTM_REQ_ATTR: internal |
---|
| 6861 | + * @NL80211_PMSR_FTM_REQ_ATTR_MAX: highest attribute number |
---|
| 6862 | + */ |
---|
| 6863 | +enum nl80211_peer_measurement_ftm_req { |
---|
| 6864 | + __NL80211_PMSR_FTM_REQ_ATTR_INVALID, |
---|
| 6865 | + |
---|
| 6866 | + NL80211_PMSR_FTM_REQ_ATTR_ASAP, |
---|
| 6867 | + NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE, |
---|
| 6868 | + NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP, |
---|
| 6869 | + NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD, |
---|
| 6870 | + NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION, |
---|
| 6871 | + NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST, |
---|
| 6872 | + NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES, |
---|
| 6873 | + NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI, |
---|
| 6874 | + NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC, |
---|
| 6875 | + NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED, |
---|
| 6876 | + NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED, |
---|
| 6877 | + |
---|
| 6878 | + /* keep last */ |
---|
| 6879 | + NUM_NL80211_PMSR_FTM_REQ_ATTR, |
---|
| 6880 | + NL80211_PMSR_FTM_REQ_ATTR_MAX = NUM_NL80211_PMSR_FTM_REQ_ATTR - 1 |
---|
| 6881 | +}; |
---|
| 6882 | + |
---|
| 6883 | +/** |
---|
| 6884 | + * enum nl80211_peer_measurement_ftm_failure_reasons - FTM failure reasons |
---|
| 6885 | + * @NL80211_PMSR_FTM_FAILURE_UNSPECIFIED: unspecified failure, not used |
---|
| 6886 | + * @NL80211_PMSR_FTM_FAILURE_NO_RESPONSE: no response from the FTM responder |
---|
| 6887 | + * @NL80211_PMSR_FTM_FAILURE_REJECTED: FTM responder rejected measurement |
---|
| 6888 | + * @NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL: we already know the peer is |
---|
| 6889 | + * on a different channel, so can't measure (if we didn't know, we'd |
---|
| 6890 | + * try and get no response) |
---|
| 6891 | + * @NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE: peer can't actually do FTM |
---|
| 6892 | + * @NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP: invalid T1/T4 timestamps |
---|
| 6893 | + * received |
---|
| 6894 | + * @NL80211_PMSR_FTM_FAILURE_PEER_BUSY: peer reports busy, you may retry |
---|
| 6895 | + * later (see %NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME) |
---|
| 6896 | + * @NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS: parameters were changed |
---|
| 6897 | + * by the peer and are no longer supported |
---|
| 6898 | + */ |
---|
| 6899 | +enum nl80211_peer_measurement_ftm_failure_reasons { |
---|
| 6900 | + NL80211_PMSR_FTM_FAILURE_UNSPECIFIED, |
---|
| 6901 | + NL80211_PMSR_FTM_FAILURE_NO_RESPONSE, |
---|
| 6902 | + NL80211_PMSR_FTM_FAILURE_REJECTED, |
---|
| 6903 | + NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL, |
---|
| 6904 | + NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE, |
---|
| 6905 | + NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP, |
---|
| 6906 | + NL80211_PMSR_FTM_FAILURE_PEER_BUSY, |
---|
| 6907 | + NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS, |
---|
| 6908 | +}; |
---|
| 6909 | + |
---|
| 6910 | +/** |
---|
| 6911 | + * enum nl80211_peer_measurement_ftm_resp - FTM response attributes |
---|
| 6912 | + * @__NL80211_PMSR_FTM_RESP_ATTR_INVALID: invalid |
---|
| 6913 | + * |
---|
| 6914 | + * @NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON: FTM-specific failure reason |
---|
| 6915 | + * (u32, optional) |
---|
| 6916 | + * @NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX: optional, if bursts are reported |
---|
| 6917 | + * as separate results then it will be the burst index 0...(N-1) and |
---|
| 6918 | + * the top level will indicate partial results (u32) |
---|
| 6919 | + * @NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS: number of FTM Request frames |
---|
| 6920 | + * transmitted (u32, optional) |
---|
| 6921 | + * @NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES: number of FTM Request frames |
---|
| 6922 | + * that were acknowleged (u32, optional) |
---|
| 6923 | + * @NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME: retry time received from the |
---|
| 6924 | + * busy peer (u32, seconds) |
---|
| 6925 | + * @NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP: actual number of bursts exponent |
---|
| 6926 | + * used by the responder (similar to request, u8) |
---|
| 6927 | + * @NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION: actual burst duration used by |
---|
| 6928 | + * the responder (similar to request, u8) |
---|
| 6929 | + * @NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST: actual FTMs per burst used |
---|
| 6930 | + * by the responder (similar to request, u8) |
---|
| 6931 | + * @NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG: average RSSI across all FTM action |
---|
| 6932 | + * frames (optional, s32, 1/2 dBm) |
---|
| 6933 | + * @NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD: RSSI spread across all FTM action |
---|
| 6934 | + * frames (optional, s32, 1/2 dBm) |
---|
| 6935 | + * @NL80211_PMSR_FTM_RESP_ATTR_TX_RATE: bitrate we used for the response to the |
---|
| 6936 | + * FTM action frame (optional, nested, using &enum nl80211_rate_info |
---|
| 6937 | + * attributes) |
---|
| 6938 | + * @NL80211_PMSR_FTM_RESP_ATTR_RX_RATE: bitrate the responder used for the FTM |
---|
| 6939 | + * action frame (optional, nested, using &enum nl80211_rate_info attrs) |
---|
| 6940 | + * @NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG: average RTT (s64, picoseconds, optional |
---|
| 6941 | + * but one of RTT/DIST must be present) |
---|
| 6942 | + * @NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE: RTT variance (u64, ps^2, note that |
---|
| 6943 | + * standard deviation is the square root of variance, optional) |
---|
| 6944 | + * @NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD: RTT spread (u64, picoseconds, |
---|
| 6945 | + * optional) |
---|
| 6946 | + * @NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG: average distance (s64, mm, optional |
---|
| 6947 | + * but one of RTT/DIST must be present) |
---|
| 6948 | + * @NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE: distance variance (u64, mm^2, note |
---|
| 6949 | + * that standard deviation is the square root of variance, optional) |
---|
| 6950 | + * @NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD: distance spread (u64, mm, optional) |
---|
| 6951 | + * @NL80211_PMSR_FTM_RESP_ATTR_LCI: LCI data from peer (binary, optional); |
---|
| 6952 | + * this is the contents of the Measurement Report Element (802.11-2016 |
---|
| 6953 | + * 9.4.2.22.1) starting with the Measurement Token, with Measurement |
---|
| 6954 | + * Type 8. |
---|
| 6955 | + * @NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC: civic location data from peer |
---|
| 6956 | + * (binary, optional); |
---|
| 6957 | + * this is the contents of the Measurement Report Element (802.11-2016 |
---|
| 6958 | + * 9.4.2.22.1) starting with the Measurement Token, with Measurement |
---|
| 6959 | + * Type 11. |
---|
| 6960 | + * @NL80211_PMSR_FTM_RESP_ATTR_PAD: ignore, for u64/s64 padding only |
---|
| 6961 | + * |
---|
| 6962 | + * @NUM_NL80211_PMSR_FTM_RESP_ATTR: internal |
---|
| 6963 | + * @NL80211_PMSR_FTM_RESP_ATTR_MAX: highest attribute number |
---|
| 6964 | + */ |
---|
| 6965 | +enum nl80211_peer_measurement_ftm_resp { |
---|
| 6966 | + __NL80211_PMSR_FTM_RESP_ATTR_INVALID, |
---|
| 6967 | + |
---|
| 6968 | + NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON, |
---|
| 6969 | + NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX, |
---|
| 6970 | + NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS, |
---|
| 6971 | + NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES, |
---|
| 6972 | + NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME, |
---|
| 6973 | + NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP, |
---|
| 6974 | + NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION, |
---|
| 6975 | + NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST, |
---|
| 6976 | + NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG, |
---|
| 6977 | + NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD, |
---|
| 6978 | + NL80211_PMSR_FTM_RESP_ATTR_TX_RATE, |
---|
| 6979 | + NL80211_PMSR_FTM_RESP_ATTR_RX_RATE, |
---|
| 6980 | + NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG, |
---|
| 6981 | + NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE, |
---|
| 6982 | + NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD, |
---|
| 6983 | + NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG, |
---|
| 6984 | + NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE, |
---|
| 6985 | + NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD, |
---|
| 6986 | + NL80211_PMSR_FTM_RESP_ATTR_LCI, |
---|
| 6987 | + NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC, |
---|
| 6988 | + NL80211_PMSR_FTM_RESP_ATTR_PAD, |
---|
| 6989 | + |
---|
| 6990 | + /* keep last */ |
---|
| 6991 | + NUM_NL80211_PMSR_FTM_RESP_ATTR, |
---|
| 6992 | + NL80211_PMSR_FTM_RESP_ATTR_MAX = NUM_NL80211_PMSR_FTM_RESP_ATTR - 1 |
---|
| 6993 | +}; |
---|
| 6994 | + |
---|
| 6995 | +/** |
---|
| 6996 | + * enum nl80211_obss_pd_attributes - OBSS packet detection attributes |
---|
| 6997 | + * @__NL80211_HE_OBSS_PD_ATTR_INVALID: Invalid |
---|
| 6998 | + * |
---|
| 6999 | + * @NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET: the OBSS PD minimum tx power offset. |
---|
| 7000 | + * @NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET: the OBSS PD maximum tx power offset. |
---|
| 7001 | + * @NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET: the non-SRG OBSS PD maximum |
---|
| 7002 | + * tx power offset. |
---|
| 7003 | + * @NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP: bitmap that indicates the BSS color |
---|
| 7004 | + * values used by members of the SRG. |
---|
| 7005 | + * @NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP: bitmap that indicates the partial |
---|
| 7006 | + * BSSID values used by members of the SRG. |
---|
| 7007 | + * @NL80211_HE_OBSS_PD_ATTR_SR_CTRL: The SR Control field of SRP element. |
---|
| 7008 | + * |
---|
| 7009 | + * @__NL80211_HE_OBSS_PD_ATTR_LAST: Internal |
---|
| 7010 | + * @NL80211_HE_OBSS_PD_ATTR_MAX: highest OBSS PD attribute. |
---|
| 7011 | + */ |
---|
| 7012 | +enum nl80211_obss_pd_attributes { |
---|
| 7013 | + __NL80211_HE_OBSS_PD_ATTR_INVALID, |
---|
| 7014 | + |
---|
| 7015 | + NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET, |
---|
| 7016 | + NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET, |
---|
| 7017 | + NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET, |
---|
| 7018 | + NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP, |
---|
| 7019 | + NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP, |
---|
| 7020 | + NL80211_HE_OBSS_PD_ATTR_SR_CTRL, |
---|
| 7021 | + |
---|
| 7022 | + /* keep last */ |
---|
| 7023 | + __NL80211_HE_OBSS_PD_ATTR_LAST, |
---|
| 7024 | + NL80211_HE_OBSS_PD_ATTR_MAX = __NL80211_HE_OBSS_PD_ATTR_LAST - 1, |
---|
| 7025 | +}; |
---|
| 7026 | + |
---|
| 7027 | +/** |
---|
| 7028 | + * enum nl80211_bss_color_attributes - BSS Color attributes |
---|
| 7029 | + * @__NL80211_HE_BSS_COLOR_ATTR_INVALID: Invalid |
---|
| 7030 | + * |
---|
| 7031 | + * @NL80211_HE_BSS_COLOR_ATTR_COLOR: the current BSS Color. |
---|
| 7032 | + * @NL80211_HE_BSS_COLOR_ATTR_DISABLED: is BSS coloring disabled. |
---|
| 7033 | + * @NL80211_HE_BSS_COLOR_ATTR_PARTIAL: the AID equation to be used.. |
---|
| 7034 | + * |
---|
| 7035 | + * @__NL80211_HE_BSS_COLOR_ATTR_LAST: Internal |
---|
| 7036 | + * @NL80211_HE_BSS_COLOR_ATTR_MAX: highest BSS Color attribute. |
---|
| 7037 | + */ |
---|
| 7038 | +enum nl80211_bss_color_attributes { |
---|
| 7039 | + __NL80211_HE_BSS_COLOR_ATTR_INVALID, |
---|
| 7040 | + |
---|
| 7041 | + NL80211_HE_BSS_COLOR_ATTR_COLOR, |
---|
| 7042 | + NL80211_HE_BSS_COLOR_ATTR_DISABLED, |
---|
| 7043 | + NL80211_HE_BSS_COLOR_ATTR_PARTIAL, |
---|
| 7044 | + |
---|
| 7045 | + /* keep last */ |
---|
| 7046 | + __NL80211_HE_BSS_COLOR_ATTR_LAST, |
---|
| 7047 | + NL80211_HE_BSS_COLOR_ATTR_MAX = __NL80211_HE_BSS_COLOR_ATTR_LAST - 1, |
---|
| 7048 | +}; |
---|
| 7049 | + |
---|
| 7050 | +/** |
---|
6012 | 7051 | * enum nl80211_iftype_akm_attributes - interface type AKM attributes |
---|
6013 | 7052 | * @__NL80211_IFTYPE_AKM_ATTR_INVALID: Invalid |
---|
6014 | 7053 | * |
---|
.. | .. |
---|
6032 | 7071 | NL80211_IFTYPE_AKM_ATTR_MAX = __NL80211_IFTYPE_AKM_ATTR_LAST - 1, |
---|
6033 | 7072 | }; |
---|
6034 | 7073 | |
---|
| 7074 | +/** |
---|
| 7075 | + * enum nl80211_fils_discovery_attributes - FILS discovery configuration |
---|
| 7076 | + * from IEEE Std 802.11ai-2016, Annex C.3 MIB detail. |
---|
| 7077 | + * |
---|
| 7078 | + * @__NL80211_FILS_DISCOVERY_ATTR_INVALID: Invalid |
---|
| 7079 | + * |
---|
| 7080 | + * @NL80211_FILS_DISCOVERY_ATTR_INT_MIN: Minimum packet interval (u32, TU). |
---|
| 7081 | + * Allowed range: 0..10000 (TU = Time Unit) |
---|
| 7082 | + * @NL80211_FILS_DISCOVERY_ATTR_INT_MAX: Maximum packet interval (u32, TU). |
---|
| 7083 | + * Allowed range: 0..10000 (TU = Time Unit) |
---|
| 7084 | + * @NL80211_FILS_DISCOVERY_ATTR_TMPL: Template data for FILS discovery action |
---|
| 7085 | + * frame including the headers. |
---|
| 7086 | + * |
---|
| 7087 | + * @__NL80211_FILS_DISCOVERY_ATTR_LAST: Internal |
---|
| 7088 | + * @NL80211_FILS_DISCOVERY_ATTR_MAX: highest attribute |
---|
| 7089 | + */ |
---|
| 7090 | +enum nl80211_fils_discovery_attributes { |
---|
| 7091 | + __NL80211_FILS_DISCOVERY_ATTR_INVALID, |
---|
| 7092 | + |
---|
| 7093 | + NL80211_FILS_DISCOVERY_ATTR_INT_MIN, |
---|
| 7094 | + NL80211_FILS_DISCOVERY_ATTR_INT_MAX, |
---|
| 7095 | + NL80211_FILS_DISCOVERY_ATTR_TMPL, |
---|
| 7096 | + |
---|
| 7097 | + /* keep last */ |
---|
| 7098 | + __NL80211_FILS_DISCOVERY_ATTR_LAST, |
---|
| 7099 | + NL80211_FILS_DISCOVERY_ATTR_MAX = __NL80211_FILS_DISCOVERY_ATTR_LAST - 1 |
---|
| 7100 | +}; |
---|
| 7101 | + |
---|
| 7102 | +/* |
---|
| 7103 | + * FILS discovery template minimum length with action frame headers and |
---|
| 7104 | + * mandatory fields. |
---|
| 7105 | + */ |
---|
| 7106 | +#define NL80211_FILS_DISCOVERY_TMPL_MIN_LEN 42 |
---|
| 7107 | + |
---|
| 7108 | +/** |
---|
| 7109 | + * enum nl80211_unsol_bcast_probe_resp_attributes - Unsolicited broadcast probe |
---|
| 7110 | + * response configuration. Applicable only in 6GHz. |
---|
| 7111 | + * |
---|
| 7112 | + * @__NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INVALID: Invalid |
---|
| 7113 | + * |
---|
| 7114 | + * @NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT: Maximum packet interval (u32, TU). |
---|
| 7115 | + * Allowed range: 0..20 (TU = Time Unit). IEEE P802.11ax/D6.0 |
---|
| 7116 | + * 26.17.2.3.2 (AP behavior for fast passive scanning). |
---|
| 7117 | + * @NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL: Unsolicited broadcast probe response |
---|
| 7118 | + * frame template (binary). |
---|
| 7119 | + * |
---|
| 7120 | + * @__NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_LAST: Internal |
---|
| 7121 | + * @NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX: highest attribute |
---|
| 7122 | + */ |
---|
| 7123 | +enum nl80211_unsol_bcast_probe_resp_attributes { |
---|
| 7124 | + __NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INVALID, |
---|
| 7125 | + |
---|
| 7126 | + NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT, |
---|
| 7127 | + NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL, |
---|
| 7128 | + |
---|
| 7129 | + /* keep last */ |
---|
| 7130 | + __NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_LAST, |
---|
| 7131 | + NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX = |
---|
| 7132 | + __NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_LAST - 1 |
---|
| 7133 | +}; |
---|
| 7134 | + |
---|
| 7135 | +/** |
---|
| 7136 | + * enum nl80211_sae_pwe_mechanism - The mechanism(s) allowed for SAE PWE |
---|
| 7137 | + * derivation. Applicable only when WPA3-Personal SAE authentication is |
---|
| 7138 | + * used. |
---|
| 7139 | + * |
---|
| 7140 | + * @NL80211_SAE_PWE_UNSPECIFIED: not specified, used internally to indicate that |
---|
| 7141 | + * attribute is not present from userspace. |
---|
| 7142 | + * @NL80211_SAE_PWE_HUNT_AND_PECK: hunting-and-pecking loop only |
---|
| 7143 | + * @NL80211_SAE_PWE_HASH_TO_ELEMENT: hash-to-element only |
---|
| 7144 | + * @NL80211_SAE_PWE_BOTH: both hunting-and-pecking loop and hash-to-element |
---|
| 7145 | + * can be used. |
---|
| 7146 | + */ |
---|
| 7147 | +enum nl80211_sae_pwe_mechanism { |
---|
| 7148 | + NL80211_SAE_PWE_UNSPECIFIED, |
---|
| 7149 | + NL80211_SAE_PWE_HUNT_AND_PECK, |
---|
| 7150 | + NL80211_SAE_PWE_HASH_TO_ELEMENT, |
---|
| 7151 | + NL80211_SAE_PWE_BOTH, |
---|
| 7152 | +}; |
---|
6035 | 7153 | #endif /* __LINUX_NL80211_H */ |
---|