Johannes Berg says: ==================== We have a number of changes * code cleanups and fixups as usual * AQL & internal TXQ improvements from Felix * some mesh 802.1X support bits * some injection improvements from Mathy of KRACK fame, so we'll see what this results in ;-) * some more initial S1G supports bits, this time (some of?) the userspace APIs ====================
Showing the changes to include/uapi/linux (2 of 42 files). Show all
Unified · Split
| @@ -183,18 +183,27 @@ · 182 unmodified lines | ||
| 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 |
| @@ -363,7 +372,7 @@ · 162 unmodified lines | ||
| 363 | 372 | * @NL80211_CMD_SET_STATION: Set station attributes for station identified by |
| 364 | 373 | * %NL80211_ATTR_MAC on the interface identified by %NL80211_ATTR_IFINDEX. |
| 365 | 374 | * @NL80211_CMD_NEW_STATION: Add a station with given attributes to the |
| 366 | − * the interface identified by %NL80211_ATTR_IFINDEX. | |
| 375 | + * interface identified by %NL80211_ATTR_IFINDEX. | |
| 367 | 376 | * @NL80211_CMD_DEL_STATION: Remove a station identified by %NL80211_ATTR_MAC |
| 368 | 377 | * or, if no MAC address given, all stations, on the interface identified |
| 369 | 378 | * by %NL80211_ATTR_IFINDEX. %NL80211_ATTR_MGMT_SUBTYPE and |
| @@ -383,7 +392,7 @@ · 13 unmodified lines | ||
| 383 | 392 | * @NL80211_CMD_DEL_MPATH: Delete a mesh path to the destination given by |
| 384 | 393 | * %NL80211_ATTR_MAC. |
| 385 | 394 | * @NL80211_CMD_NEW_PATH: Add a mesh path with given attributes to the |
| 386 | − * the interface identified by %NL80211_ATTR_IFINDEX. | |
| 395 | + * interface identified by %NL80211_ATTR_IFINDEX. | |
| 387 | 396 | * @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC |
| 388 | 397 | * or, if no MAC address given, all mesh paths, on the interface identified |
| 389 | 398 | * by %NL80211_ATTR_IFINDEX. |
| @@ -934,7 +943,7 @@ · 544 unmodified lines | ||
| 934 | 943 | * @NL80211_CMD_SET_COALESCE: Configure coalesce rules or clear existing rules. |
| 935 | 944 | * |
| 936 | 945 | * @NL80211_CMD_CHANNEL_SWITCH: Perform a channel switch by announcing the |
| 937 | − * the new channel information (Channel Switch Announcement - CSA) | |
| 946 | + * new channel information (Channel Switch Announcement - CSA) | |
| 938 | 947 | * in the beacon for some time (as defined in the |
| 939 | 948 | * %NL80211_ATTR_CH_SWITCH_COUNT parameter) and then change to the |
| 940 | 949 | * new channel. Userspace provides the new channel information (using |
| @@ -1113,7 +1122,7 @@ · 172 unmodified lines | ||
| 1113 | 1122 | * randomization may be enabled and configured by specifying the |
| 1114 | 1123 | * %NL80211_ATTR_MAC and %NL80211_ATTR_MAC_MASK attributes. |
| 1115 | 1124 | * If a timeout is requested, use the %NL80211_ATTR_TIMEOUT attribute. |
| 1116 | − * A u64 cookie for further %NL80211_ATTR_COOKIE use is is returned in | |
| 1125 | + * A u64 cookie for further %NL80211_ATTR_COOKIE use is returned in | |
| 1117 | 1126 | * the netlink extended ack message. |
| 1118 | 1127 | * |
| 1119 | 1128 | * To cancel a measurement, close the socket that requested it. |
| @@ -1511,7 +1520,7 @@ enum nl80211_commands { · 391 unmodified lines | ||
| 1511 | 1520 | * rates as defined by IEEE 802.11 7.3.2.2 but without the length |
| 1512 | 1521 | * restriction (at most %NL80211_MAX_SUPP_RATES). |
| 1513 | 1522 | * @NL80211_ATTR_STA_VLAN: interface index of VLAN interface to move station |
| 1514 | − * to, or the AP interface the station was originally added to to. | |
| 1523 | + * to, or the AP interface the station was originally added to. | |
| 1515 | 1524 | * @NL80211_ATTR_STA_INFO: information about a station, part of station info |
| 1516 | 1525 | * given for %NL80211_CMD_GET_STATION, nested attribute containing |
| 1517 | 1526 | * info as possible, see &enum nl80211_sta_info. |
| @@ -2084,7 +2093,7 @@ enum nl80211_commands { · 566 unmodified lines | ||
| 2084 | 2093 | * @NL80211_ATTR_STA_SUPPORTED_CHANNELS: array of supported channels. |
| 2085 | 2094 | * |
| 2086 | 2095 | * @NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES: array of supported |
| 2087 | − * supported operating classes. | |
| 2096 | + * operating classes. | |
| 2088 | 2097 | * |
| 2089 | 2098 | * @NL80211_ATTR_HANDLE_DFS: A flag indicating whether user space |
| 2090 | 2099 | * controls DFS operation in IBSS mode. If the flag is included in |
| @@ -2362,10 +2371,11 @@ enum nl80211_commands { · 271 unmodified lines | ||
| 2362 | 2371 | * |
| 2363 | 2372 | * @NL80211_ATTR_PMK: attribute for passing PMK key material. Used with |
| 2364 | 2373 | * %NL80211_CMD_SET_PMKSA for the PMKSA identified by %NL80211_ATTR_PMKID. |
| 2365 | − * For %NL80211_CMD_CONNECT it is used to provide PSK for offloading 4-way | |
| 2366 | − * handshake for WPA/WPA2-PSK networks. For 802.1X authentication it is | |
| 2367 | − * used with %NL80211_CMD_SET_PMK. For offloaded FT support this attribute | |
| 2368 | − * specifies the PMK-R0 if NL80211_ATTR_PMKR0_NAME is included as well. | |
| 2374 | + * For %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP it is used to provide | |
| 2375 | + * PSK for offloading 4-way handshake for WPA/WPA2-PSK networks. For 802.1X | |
| 2376 | + * authentication it is used with %NL80211_CMD_SET_PMK. For offloaded FT | |
| 2377 | + * support this attribute specifies the PMK-R0 if NL80211_ATTR_PMKR0_NAME | |
| 2378 | + * is included as well. | |
| 2369 | 2379 | * |
| 2370 | 2380 | * @NL80211_ATTR_SCHED_SCAN_MULTI: flag attribute which user-space shall use to |
| 2371 | 2381 | * indicate that it supports multiple active scheduled scan requests. |
| @@ -2395,7 +2405,7 @@ enum nl80211_commands { · 23 unmodified lines | ||
| 2395 | 2405 | * nl80211_txq_stats) |
| 2396 | 2406 | * @NL80211_ATTR_TXQ_LIMIT: Total packet limit for the TXQ queues for this phy. |
| 2397 | 2407 | * The smaller of this and the memory limit is enforced. |
| 2398 | − * @NL80211_ATTR_TXQ_MEMORY_LIMIT: Total memory memory limit (in bytes) for the | |
| 2408 | + * @NL80211_ATTR_TXQ_MEMORY_LIMIT: Total memory limit (in bytes) for the | |
| 2399 | 2409 | * TXQ queues for this phy. The smaller of this and the packet limit is |
| 2400 | 2410 | * enforced. |
| 2401 | 2411 | * @NL80211_ATTR_TXQ_QUANTUM: TXQ scheduler quantum (bytes). Number of bytes |
| @@ -3370,6 +3380,8 @@ enum nl80211_sta_bss_param { · 968 unmodified lines | ||
| 3370 | 3380 | * @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station |
| 3371 | 3381 | * @NL80211_STA_INFO_ASSOC_AT_BOOTTIME: Timestamp (CLOCK_BOOTTIME, nanoseconds) |
| 3372 | 3382 | * of STA's association |
| 3383 | + * @NL80211_STA_INFO_CONNECTED_TO_AS: set to true if STA has a path to a | |
| 3384 | + * authentication server (u8, 0 or 1) | |
| 3373 | 3385 | * @__NL80211_STA_INFO_AFTER_LAST: internal |
| 3374 | 3386 | * @NL80211_STA_INFO_MAX: highest possible station info attribute |
| 3375 | 3387 | */ |
| @@ -3417,6 +3429,7 @@ enum nl80211_sta_info { · 41 unmodified lines | ||
| 3417 | 3429 | NL80211_STA_INFO_AIRTIME_WEIGHT, |
| 3418 | 3430 | NL80211_STA_INFO_AIRTIME_LINK_METRIC, |
| 3419 | 3431 | NL80211_STA_INFO_ASSOC_AT_BOOTTIME, |
| 3432 | + NL80211_STA_INFO_CONNECTED_TO_AS, | |
| 3420 | 3433 | |
| 3421 | 3434 | /* keep last */ |
| 3422 | 3435 | __NL80211_STA_INFO_AFTER_LAST, |
| @@ -4236,6 +4249,16 @@ enum nl80211_mesh_power_mode { · 813 unmodified lines | ||
| 4236 | 4249 | * field. If left unset then the mesh formation field will only |
| 4237 | 4250 | * advertise such if there is an active root mesh path. |
| 4238 | 4251 | * |
| 4252 | + * @NL80211_MESHCONF_NOLEARN: Try to avoid multi-hop path discovery (e.g. | |
| 4253 | + * PREQ/PREP for HWMP) if the destination is a direct neighbor. Note that | |
| 4254 | + * this might not be the optimal decision as a multi-hop route might be | |
| 4255 | + * better. So if using this setting you will likely also want to disable | |
| 4256 | + * dot11MeshForwarding and use another mesh routing protocol on top. | |
| 4257 | + * | |
| 4258 | + * @NL80211_MESHCONF_CONNECTED_TO_AS: If set to true then this mesh STA | |
| 4259 | + * will advertise that it is connected to a authentication server | |
| 4260 | + * in the mesh formation field. | |
| 4261 | + * | |
| 4239 | 4262 | * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use |
| 4240 | 4263 | */ |
| 4241 | 4264 | enum nl80211_meshconf_params { |
| @@ -4269,6 +4292,8 @@ enum nl80211_meshconf_params { · 27 unmodified lines | ||
| 4269 | 4292 | NL80211_MESHCONF_AWAKE_WINDOW, |
| 4270 | 4293 | NL80211_MESHCONF_PLINK_TIMEOUT, |
| 4271 | 4294 | NL80211_MESHCONF_CONNECTED_TO_GATE, |
| 4295 | + NL80211_MESHCONF_NOLEARN, | |
| 4296 | + NL80211_MESHCONF_CONNECTED_TO_AS, | |
| 4272 | 4297 | |
| 4273 | 4298 | /* keep last */ |
| 4274 | 4299 | __NL80211_MESHCONF_ATTR_AFTER_LAST, |
| @@ -4437,6 +4462,11 @@ enum nl80211_key_mode { · 162 unmodified lines | ||
| 4437 | 4462 | * attribute must be provided as well |
| 4438 | 4463 | * @NL80211_CHAN_WIDTH_5: 5 MHz OFDM channel |
| 4439 | 4464 | * @NL80211_CHAN_WIDTH_10: 10 MHz OFDM channel |
| 4465 | + * @NL80211_CHAN_WIDTH_1: 1 MHz OFDM channel | |
| 4466 | + * @NL80211_CHAN_WIDTH_2: 2 MHz OFDM channel | |
| 4467 | + * @NL80211_CHAN_WIDTH_4: 4 MHz OFDM channel | |
| 4468 | + * @NL80211_CHAN_WIDTH_8: 8 MHz OFDM channel | |
| 4469 | + * @NL80211_CHAN_WIDTH_16: 16 MHz OFDM channel | |
| 4440 | 4470 | */ |
| 4441 | 4471 | enum nl80211_chan_width { |
| 4442 | 4472 | NL80211_CHAN_WIDTH_20_NOHT, |
| @@ -4447,6 +4477,11 @@ enum nl80211_chan_width { · 4 unmodified lines | ||
| 4447 | 4477 | NL80211_CHAN_WIDTH_160, |
| 4448 | 4478 | NL80211_CHAN_WIDTH_5, |
| 4449 | 4479 | NL80211_CHAN_WIDTH_10, |
| 4480 | + NL80211_CHAN_WIDTH_1, | |
| 4481 | + NL80211_CHAN_WIDTH_2, | |
| 4482 | + NL80211_CHAN_WIDTH_4, | |
| 4483 | + NL80211_CHAN_WIDTH_8, | |
| 4484 | + NL80211_CHAN_WIDTH_16, | |
| 4450 | 4485 | }; |
| 4451 | 4486 | |
| 4452 | 4487 | /** |
| @@ -4457,11 +4492,15 @@ enum nl80211_chan_width { · 4 unmodified lines | ||
| 4457 | 4492 | * @NL80211_BSS_CHAN_WIDTH_20: control channel is 20 MHz wide or compatible |
| 4458 | 4493 | * @NL80211_BSS_CHAN_WIDTH_10: control channel is 10 MHz wide |
| 4459 | 4494 | * @NL80211_BSS_CHAN_WIDTH_5: control channel is 5 MHz wide |
| 4495 | + * @NL80211_BSS_CHAN_WIDTH_1: control channel is 1 MHz wide | |
| 4496 | + * @NL80211_BSS_CHAN_WIDTH_2: control channel is 2 MHz wide | |
| 4460 | 4497 | */ |
| 4461 | 4498 | enum nl80211_bss_scan_width { |
| 4462 | 4499 | NL80211_BSS_CHAN_WIDTH_20, |
| 4463 | 4500 | NL80211_BSS_CHAN_WIDTH_10, |
| 4464 | 4501 | NL80211_BSS_CHAN_WIDTH_5, |
| 4502 | + NL80211_BSS_CHAN_WIDTH_1, | |
| 4503 | + NL80211_BSS_CHAN_WIDTH_2, | |
| 4465 | 4504 | }; |
| 4466 | 4505 | |
| 4467 | 4506 | /** |
| @@ -4740,6 +4779,7 @@ enum nl80211_txrate_gi { · 272 unmodified lines | ||
| 4740 | 4779 | * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz) |
| 4741 | 4780 | * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz) |
| 4742 | 4781 | * @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz) |
| 4782 | + * @NL80211_BAND_S1GHZ: around 900MHz, supported by S1G PHYs | |
| 4743 | 4783 | * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace |
| 4744 | 4784 | * since newer kernel versions may support more bands |
| 4745 | 4785 | */ |
| @@ -4748,6 +4788,7 @@ enum nl80211_band { · 2 unmodified lines | ||
| 4748 | 4788 | NL80211_BAND_5GHZ, |
| 4749 | 4789 | NL80211_BAND_60GHZ, |
| 4750 | 4790 | NL80211_BAND_6GHZ, |
| 4791 | + NL80211_BAND_S1GHZ, | |
| 4751 | 4792 | |
| 4752 | 4793 | NUM_NL80211_BANDS, |
| 4753 | 4794 | }; |
| @@ -5636,7 +5677,7 @@ enum nl80211_feature_flags { · 882 unmodified lines | ||
| 5636 | 5677 | * enum nl80211_ext_feature_index - bit index of extended features. |
| 5637 | 5678 | * @NL80211_EXT_FEATURE_VHT_IBSS: This driver supports IBSS with VHT datarates. |
| 5638 | 5679 | * @NL80211_EXT_FEATURE_RRM: This driver supports RRM. When featured, user can |
| 5639 | − * can request to use RRM (see %NL80211_ATTR_USE_RRM) with | |
| 5680 | + * request to use RRM (see %NL80211_ATTR_USE_RRM) with | |
| 5640 | 5681 | * %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests, which will set |
| 5641 | 5682 | * the ASSOC_REQ_USE_RRM flag in the association request even if |
| 5642 | 5683 | * NL80211_FEATURE_QUIET is not advertized. |
| @@ -5773,6 +5814,13 @@ enum nl80211_feature_flags { · 130 unmodified lines | ||
| 5773 | 5814 | * @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS: The driver |
| 5774 | 5815 | * can report tx status for control port over nl80211 tx operations. |
| 5775 | 5816 | * |
| 5817 | + * @NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION: Driver supports Operating | |
| 5818 | + * Channel Validation (OCV) when using driver's SME for RSNA handshakes. | |
| 5819 | + * | |
| 5820 | + * @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK: Device wants to do 4-way | |
| 5821 | + * handshake with PSK in AP mode (PSK is passed as part of the start AP | |
| 5822 | + * command). | |
| 5823 | + * | |
| 5776 | 5824 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 5777 | 5825 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| 5778 | 5826 | */ |
| @@ -5828,6 +5876,8 @@ enum nl80211_ext_feature_index { · 49 unmodified lines | ||
| 5828 | 5876 | NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT, |
| 5829 | 5877 | NL80211_EXT_FEATURE_SCAN_FREQ_KHZ, |
| 5830 | 5878 | NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS, |
| 5879 | + NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION, | |
| 5880 | + NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK, | |
| 5831 | 5881 | |
| 5832 | 5882 | /* add new features before the definition below */ |
| 5833 | 5883 | NUM_NL80211_EXT_FEATURES, |
| @@ -6045,7 +6095,7 @@ enum nl80211_dfs_state { · 211 unmodified lines | ||
| 6045 | 6095 | }; |
| 6046 | 6096 | |
| 6047 | 6097 | /** |
| 6048 | − * enum enum nl80211_protocol_features - nl80211 protocol features | |
| 6098 | + * enum nl80211_protocol_features - nl80211 protocol features | |
| 6049 | 6099 | * @NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP: nl80211 supports splitting |
| 6050 | 6100 | * wiphy dumps (if requested by the application with the attribute |
| 6051 | 6101 | * %NL80211_ATTR_SPLIT_WIPHY_DUMP. Also supported is filtering the |
| @@ -914,7 +914,7 @@ union iwreq_data { · 913 unmodified lines | ||
| 914 | 914 | struct iw_param sens; /* signal level threshold */ |
| 915 | 915 | struct iw_param bitrate; /* default bit rate */ |
| 916 | 916 | struct iw_param txpower; /* default transmit power */ |
| 917 | − struct iw_param rts; /* RTS threshold threshold */ | |
| 917 | + struct iw_param rts; /* RTS threshold */ | |
| 918 | 918 | struct iw_param frag; /* Fragmentation threshold */ |
| 919 | 919 | __u32 mode; /* Operation mode */ |
| 920 | 920 | struct iw_param retry; /* Retry limits & lifetime */ |