developer | 66e89bc | 2024-04-23 14:50:01 +0800 | [diff] [blame] | 1 | From de3da80461f48946b9493fb2b2d54ce6dcdc3e12 Mon Sep 17 00:00:00 2001 |
| 2 | From: Johannes Berg <johannes.berg@intel.com> |
| 3 | Date: Fri, 14 Apr 2023 12:50:11 +0200 |
| 4 | Subject: [PATCH 06/28] update nl80211.h |
| 5 | |
| 6 | Bring in nl80211.h from 6.4-rc. |
| 7 | |
| 8 | Change-Id: I96b818a987d243b5cf97e2cc9c62d57637e17165 |
| 9 | Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| 10 | --- |
| 11 | info.c | 4 + |
| 12 | nl80211.h | 230 +++++++++++++++++++++++++++++++++++++++++++++++++++--- |
| 13 | 2 files changed, 224 insertions(+), 10 deletions(-) |
| 14 | |
| 15 | diff --git a/info.c b/info.c |
| 16 | index 5229d44..9955e5e 100644 |
| 17 | --- a/info.c |
| 18 | +++ b/info.c |
| 19 | @@ -166,6 +166,10 @@ static void ext_feat_print(enum nl80211_ext_feature_index idx) |
| 20 | ext_feat_case(BSS_COLOR, "BSS coloring support"); |
| 21 | ext_feat_case(FILS_CRYPTO_OFFLOAD, "FILS crypto offload"); |
| 22 | ext_feat_case(RADAR_BACKGROUND, "Radar background support"); |
| 23 | + ext_feat_case(POWERED_ADDR_CHANGE, "can change MAC address while up"); |
| 24 | + ext_feat_case(PUNCT, "preamble puncturing in AP mode"); |
| 25 | + ext_feat_case(SECURE_NAN, "secure NAN support"); |
| 26 | + ext_feat_case(AUTH_AND_DEAUTH_RANDOM_TA, "random auth/deauth transmitter address"); |
| 27 | } |
| 28 | } |
| 29 | |
| 30 | diff --git a/nl80211.h b/nl80211.h |
| 31 | index d9490e3..c59fec4 100644 |
| 32 | --- a/nl80211.h |
| 33 | +++ b/nl80211.h |
| 34 | @@ -323,6 +323,17 @@ |
| 35 | * Once the association is done, the driver cleans the FILS AAD data. |
| 36 | */ |
| 37 | |
| 38 | +/** |
| 39 | + * DOC: Multi-Link Operation |
| 40 | + * |
| 41 | + * In Multi-Link Operation, a connection between to MLDs utilizes multiple |
| 42 | + * links. To use this in nl80211, various commands and responses now need |
| 43 | + * to or will include the new %NL80211_ATTR_MLO_LINKS attribute. |
| 44 | + * Additionally, various commands that need to operate on a specific link |
| 45 | + * now need to be given the %NL80211_ATTR_MLO_LINK_ID attribute, e.g. to |
| 46 | + * use %NL80211_CMD_START_AP or similar functions. |
| 47 | + */ |
| 48 | + |
| 49 | /** |
| 50 | * enum nl80211_commands - supported nl80211 commands |
| 51 | * |
| 52 | @@ -366,14 +377,22 @@ |
| 53 | * the non-transmitting interfaces are deleted as well. |
| 54 | * |
| 55 | * @NL80211_CMD_GET_KEY: Get sequence counter information for a key specified |
| 56 | - * by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC. |
| 57 | + * by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC. %NL80211_ATTR_MAC |
| 58 | + * represents peer's MLD address for MLO pairwise key. For MLO group key, |
| 59 | + * the link is identified by %NL80211_ATTR_MLO_LINK_ID. |
| 60 | * @NL80211_CMD_SET_KEY: Set key attributes %NL80211_ATTR_KEY_DEFAULT, |
| 61 | * %NL80211_ATTR_KEY_DEFAULT_MGMT, or %NL80211_ATTR_KEY_THRESHOLD. |
| 62 | + * For MLO connection, the link to set default key is identified by |
| 63 | + * %NL80211_ATTR_MLO_LINK_ID. |
| 64 | * @NL80211_CMD_NEW_KEY: add a key with given %NL80211_ATTR_KEY_DATA, |
| 65 | * %NL80211_ATTR_KEY_IDX, %NL80211_ATTR_MAC, %NL80211_ATTR_KEY_CIPHER, |
| 66 | - * and %NL80211_ATTR_KEY_SEQ attributes. |
| 67 | + * and %NL80211_ATTR_KEY_SEQ attributes. %NL80211_ATTR_MAC represents |
| 68 | + * peer's MLD address for MLO pairwise key. The link to add MLO |
| 69 | + * group key is identified by %NL80211_ATTR_MLO_LINK_ID. |
| 70 | * @NL80211_CMD_DEL_KEY: delete a key identified by %NL80211_ATTR_KEY_IDX |
| 71 | - * or %NL80211_ATTR_MAC. |
| 72 | + * or %NL80211_ATTR_MAC. %NL80211_ATTR_MAC represents peer's MLD address |
| 73 | + * for MLO pairwise key. The link to delete group key is identified by |
| 74 | + * %NL80211_ATTR_MLO_LINK_ID. |
| 75 | * |
| 76 | * @NL80211_CMD_GET_BEACON: (not used) |
| 77 | * @NL80211_CMD_SET_BEACON: change the beacon on an access point interface |
| 78 | @@ -405,7 +424,8 @@ |
| 79 | * interface identified by %NL80211_ATTR_IFINDEX. |
| 80 | * @NL80211_CMD_DEL_STATION: Remove a station identified by %NL80211_ATTR_MAC |
| 81 | * or, if no MAC address given, all stations, on the interface identified |
| 82 | - * by %NL80211_ATTR_IFINDEX. %NL80211_ATTR_MGMT_SUBTYPE and |
| 83 | + * by %NL80211_ATTR_IFINDEX. For MLD station, MLD address is used in |
| 84 | + * %NL80211_ATTR_MAC. %NL80211_ATTR_MGMT_SUBTYPE and |
| 85 | * %NL80211_ATTR_REASON_CODE can optionally be used to specify which type |
| 86 | * of disconnection indication should be sent to the station |
| 87 | * (Deauthentication or Disassociation frame and reason code for that |
| 88 | @@ -753,6 +773,13 @@ |
| 89 | * %NL80211_ATTR_CSA_C_OFFSETS_TX is an array of offsets to CSA |
| 90 | * counters which will be updated to the current value. This attribute |
| 91 | * is used during CSA period. |
| 92 | + * For TX on an MLD, the frequency can be omitted and the link ID be |
| 93 | + * specified, or if transmitting to a known peer MLD (with MLD addresses |
| 94 | + * in the frame) both can be omitted and the link will be selected by |
| 95 | + * lower layers. |
| 96 | + * For RX notification, %NL80211_ATTR_RX_HW_TIMESTAMP may be included to |
| 97 | + * indicate the frame RX timestamp and %NL80211_ATTR_TX_HW_TIMESTAMP may |
| 98 | + * be included to indicate the ack TX timestamp. |
| 99 | * @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this |
| 100 | * command may be used with the corresponding cookie to cancel the wait |
| 101 | * time if it is known that it is no longer necessary. This command is |
| 102 | @@ -763,7 +790,9 @@ |
| 103 | * transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies |
| 104 | * the TX command and %NL80211_ATTR_FRAME includes the contents of the |
| 105 | * frame. %NL80211_ATTR_ACK flag is included if the recipient acknowledged |
| 106 | - * the frame. |
| 107 | + * the frame. %NL80211_ATTR_TX_HW_TIMESTAMP may be included to indicate the |
| 108 | + * tx timestamp and %NL80211_ATTR_RX_HW_TIMESTAMP may be included to |
| 109 | + * indicate the ack RX timestamp. |
| 110 | * @NL80211_CMD_ACTION_TX_STATUS: Alias for @NL80211_CMD_FRAME_TX_STATUS for |
| 111 | * backward compatibility. |
| 112 | * |
| 113 | @@ -1108,6 +1137,12 @@ |
| 114 | * has been received. %NL80211_ATTR_FRAME is used to specify the |
| 115 | * frame contents. The frame is the raw EAPoL data, without ethernet or |
| 116 | * 802.11 headers. |
| 117 | + * For an MLD transmitter, the %NL80211_ATTR_MLO_LINK_ID may be given and |
| 118 | + * its effect will depend on the destination: If the destination is known |
| 119 | + * to be an MLD, this will be used as a hint to select the link to transmit |
| 120 | + * the frame on. If the destination is not an MLD, this will select both |
| 121 | + * the link to transmit on and the source address will be set to the link |
| 122 | + * address of that link. |
| 123 | * When used as an event indication %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, |
| 124 | * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT and %NL80211_ATTR_MAC are added |
| 125 | * indicating the protocol type of the received frame; whether the frame |
| 126 | @@ -1132,6 +1167,23 @@ |
| 127 | * %NL80211_ATTR_STATUS_CODE attribute in %NL80211_CMD_EXTERNAL_AUTH |
| 128 | * command interface. |
| 129 | * |
| 130 | + * Host driver sends MLD address of the AP with %NL80211_ATTR_MLD_ADDR in |
| 131 | + * %NL80211_CMD_EXTERNAL_AUTH event to indicate user space to enable MLO |
| 132 | + * during the authentication offload in STA mode while connecting to MLD |
| 133 | + * APs. Host driver should check %NL80211_ATTR_MLO_SUPPORT flag capability |
| 134 | + * in %NL80211_CMD_CONNECT to know whether the user space supports enabling |
| 135 | + * MLO during the authentication offload or not. |
| 136 | + * User space should enable MLO during the authentication only when it |
| 137 | + * receives the AP MLD address in authentication offload request. User |
| 138 | + * space shouldn't enable MLO when the authentication offload request |
| 139 | + * doesn't indicate the AP MLD address even if the AP is MLO capable. |
| 140 | + * User space should use %NL80211_ATTR_MLD_ADDR as peer's MLD address and |
| 141 | + * interface address identified by %NL80211_ATTR_IFINDEX as self MLD |
| 142 | + * address. User space and host driver to use MLD addresses in RA, TA and |
| 143 | + * BSSID fields of the frames between them, and host driver translates the |
| 144 | + * MLD addresses to/from link addresses based on the link chosen for the |
| 145 | + * authentication. |
| 146 | + * |
| 147 | * Host driver reports this status on an authentication failure to the |
| 148 | * user space through the connect result as the user space would have |
| 149 | * initiated the connection through the connect request. |
| 150 | @@ -1237,6 +1289,26 @@ |
| 151 | * to describe the BSSID address of the AP and %NL80211_ATTR_TIMEOUT to |
| 152 | * specify the timeout value. |
| 153 | * |
| 154 | + * @NL80211_CMD_ADD_LINK: Add a new link to an interface. The |
| 155 | + * %NL80211_ATTR_MLO_LINK_ID attribute is used for the new link. |
| 156 | + * @NL80211_CMD_REMOVE_LINK: Remove a link from an interface. This may come |
| 157 | + * without %NL80211_ATTR_MLO_LINK_ID as an easy way to remove all links |
| 158 | + * in preparation for e.g. roaming to a regular (non-MLO) AP. |
| 159 | + * |
| 160 | + * @NL80211_CMD_ADD_LINK_STA: Add a link to an MLD station |
| 161 | + * @NL80211_CMD_MODIFY_LINK_STA: Modify a link of an MLD station |
| 162 | + * @NL80211_CMD_REMOVE_LINK_STA: Remove a link of an MLD station |
| 163 | + * |
| 164 | + * @NL80211_CMD_SET_HW_TIMESTAMP: Enable/disable HW timestamping of Timing |
| 165 | + * measurement and Fine timing measurement frames. If %NL80211_ATTR_MAC |
| 166 | + * is included, enable/disable HW timestamping only for frames to/from the |
| 167 | + * specified MAC address. Otherwise enable/disable HW timestamping for |
| 168 | + * all TM/FTM frames (including ones that were enabled with specific MAC |
| 169 | + * address). If %NL80211_ATTR_HW_TIMESTAMP_ENABLED is not included, disable |
| 170 | + * HW timestamping. |
| 171 | + * The number of peers that HW timestamping can be enabled for concurrently |
| 172 | + * is indicated by %NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS. |
| 173 | + * |
| 174 | * @NL80211_CMD_MAX: highest used command number |
| 175 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 176 | */ |
| 177 | @@ -1481,6 +1553,15 @@ enum nl80211_commands { |
| 178 | |
| 179 | NL80211_CMD_ASSOC_COMEBACK, |
| 180 | |
| 181 | + NL80211_CMD_ADD_LINK, |
| 182 | + NL80211_CMD_REMOVE_LINK, |
| 183 | + |
| 184 | + NL80211_CMD_ADD_LINK_STA, |
| 185 | + NL80211_CMD_MODIFY_LINK_STA, |
| 186 | + NL80211_CMD_REMOVE_LINK_STA, |
| 187 | + |
| 188 | + NL80211_CMD_SET_HW_TIMESTAMP, |
| 189 | + |
| 190 | /* add new commands above here */ |
| 191 | |
| 192 | /* used to define NL80211_CMD_MAX below */ |
| 193 | @@ -2340,8 +2421,10 @@ enum nl80211_commands { |
| 194 | * |
| 195 | * @NL80211_ATTR_IFTYPE_EXT_CAPA: Nested attribute of the following attributes: |
| 196 | * %NL80211_ATTR_IFTYPE, %NL80211_ATTR_EXT_CAPA, |
| 197 | - * %NL80211_ATTR_EXT_CAPA_MASK, to specify the extended capabilities per |
| 198 | - * interface type. |
| 199 | + * %NL80211_ATTR_EXT_CAPA_MASK, to specify the extended capabilities and |
| 200 | + * other interface-type specific capabilities per interface type. For MLO, |
| 201 | + * %NL80211_ATTR_EML_CAPABILITY and %NL80211_ATTR_MLD_CAPA_AND_OPS are |
| 202 | + * present. |
| 203 | * |
| 204 | * @NL80211_ATTR_MU_MIMO_GROUP_DATA: array of 24 bytes that defines a MU-MIMO |
| 205 | * groupID for monitor mode. |
| 206 | @@ -2663,6 +2746,65 @@ enum nl80211_commands { |
| 207 | * association request when used with NL80211_CMD_NEW_STATION). Can be set |
| 208 | * only if %NL80211_STA_FLAG_WME is set. |
| 209 | * |
| 210 | + * @NL80211_ATTR_MLO_LINK_ID: A (u8) link ID for use with MLO, to be used with |
| 211 | + * various commands that need a link ID to operate. |
| 212 | + * @NL80211_ATTR_MLO_LINKS: A nested array of links, each containing some |
| 213 | + * per-link information and a link ID. |
| 214 | + * @NL80211_ATTR_MLD_ADDR: An MLD address, used with various commands such as |
| 215 | + * authenticate/associate. |
| 216 | + * |
| 217 | + * @NL80211_ATTR_MLO_SUPPORT: Flag attribute to indicate user space supports MLO |
| 218 | + * connection. Used with %NL80211_CMD_CONNECT. If this attribute is not |
| 219 | + * included in NL80211_CMD_CONNECT drivers must not perform MLO connection. |
| 220 | + * |
| 221 | + * @NL80211_ATTR_MAX_NUM_AKM_SUITES: U16 attribute. Indicates maximum number of |
| 222 | + * AKM suites allowed for %NL80211_CMD_CONNECT, %NL80211_CMD_ASSOCIATE and |
| 223 | + * %NL80211_CMD_START_AP in %NL80211_CMD_GET_WIPHY response. If this |
| 224 | + * attribute is not present userspace shall consider maximum number of AKM |
| 225 | + * suites allowed as %NL80211_MAX_NR_AKM_SUITES which is the legacy maximum |
| 226 | + * number prior to the introduction of this attribute. |
| 227 | + * |
| 228 | + * @NL80211_ATTR_EML_CAPABILITY: EML Capability information (u16) |
| 229 | + * @NL80211_ATTR_MLD_CAPA_AND_OPS: MLD Capabilities and Operations (u16) |
| 230 | + * |
| 231 | + * @NL80211_ATTR_TX_HW_TIMESTAMP: Hardware timestamp for TX operation in |
| 232 | + * nanoseconds (u64). This is the device clock timestamp so it will |
| 233 | + * probably reset when the device is stopped or the firmware is reset. |
| 234 | + * When used with %NL80211_CMD_FRAME_TX_STATUS, indicates the frame TX |
| 235 | + * timestamp. When used with %NL80211_CMD_FRAME RX notification, indicates |
| 236 | + * the ack TX timestamp. |
| 237 | + * @NL80211_ATTR_RX_HW_TIMESTAMP: Hardware timestamp for RX operation in |
| 238 | + * nanoseconds (u64). This is the device clock timestamp so it will |
| 239 | + * probably reset when the device is stopped or the firmware is reset. |
| 240 | + * When used with %NL80211_CMD_FRAME_TX_STATUS, indicates the ack RX |
| 241 | + * timestamp. When used with %NL80211_CMD_FRAME RX notification, indicates |
| 242 | + * the incoming frame RX timestamp. |
| 243 | + * @NL80211_ATTR_TD_BITMAP: Transition Disable bitmap, for subsequent |
| 244 | + * (re)associations. |
| 245 | + * |
| 246 | + * @NL80211_ATTR_PUNCT_BITMAP: (u32) Preamble puncturing bitmap, lowest |
| 247 | + * bit corresponds to the lowest 20 MHz channel. Each bit set to 1 |
| 248 | + * indicates that the sub-channel is punctured. Higher 16 bits are |
| 249 | + * reserved. |
| 250 | + * |
| 251 | + * @NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS: Maximum number of peers that HW |
| 252 | + * timestamping can be enabled for concurrently (u16), a wiphy attribute. |
| 253 | + * A value of 0xffff indicates setting for all peers (i.e. not specifying |
| 254 | + * an address with %NL80211_CMD_SET_HW_TIMESTAMP) is supported. |
| 255 | + * @NL80211_ATTR_HW_TIMESTAMP_ENABLED: Indicates whether HW timestamping should |
| 256 | + * be enabled or not (flag attribute). |
| 257 | + * |
| 258 | + * @NL80211_ATTR_EMA_RNR_ELEMS: Optional nested attribute for |
| 259 | + * reduced neighbor report (RNR) elements. This attribute can be used |
| 260 | + * only when NL80211_MBSSID_CONFIG_ATTR_EMA is enabled. |
| 261 | + * Userspace is responsible for splitting the RNR into multiple |
| 262 | + * elements such that each element excludes the non-transmitting |
| 263 | + * profiles already included in the MBSSID element |
| 264 | + * (%NL80211_ATTR_MBSSID_ELEMS) at the same index. Each EMA beacon |
| 265 | + * will be generated by adding MBSSID and RNR elements at the same |
| 266 | + * index. If the userspace includes more RNR elements than number of |
| 267 | + * MBSSID elements then these will be added in every EMA beacon. |
| 268 | + * |
| 269 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 270 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 271 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| 272 | @@ -3177,6 +3319,28 @@ enum nl80211_attrs { |
| 273 | |
| 274 | NL80211_ATTR_DISABLE_EHT, |
| 275 | |
| 276 | + NL80211_ATTR_MLO_LINKS, |
| 277 | + NL80211_ATTR_MLO_LINK_ID, |
| 278 | + NL80211_ATTR_MLD_ADDR, |
| 279 | + |
| 280 | + NL80211_ATTR_MLO_SUPPORT, |
| 281 | + |
| 282 | + NL80211_ATTR_MAX_NUM_AKM_SUITES, |
| 283 | + |
| 284 | + NL80211_ATTR_EML_CAPABILITY, |
| 285 | + NL80211_ATTR_MLD_CAPA_AND_OPS, |
| 286 | + |
| 287 | + NL80211_ATTR_TX_HW_TIMESTAMP, |
| 288 | + NL80211_ATTR_RX_HW_TIMESTAMP, |
| 289 | + NL80211_ATTR_TD_BITMAP, |
| 290 | + |
| 291 | + NL80211_ATTR_PUNCT_BITMAP, |
| 292 | + |
| 293 | + NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS, |
| 294 | + NL80211_ATTR_HW_TIMESTAMP_ENABLED, |
| 295 | + |
| 296 | + NL80211_ATTR_EMA_RNR_ELEMS, |
| 297 | + |
| 298 | /* add attributes here, update the policy in nl80211.c */ |
| 299 | |
| 300 | __NL80211_ATTR_AFTER_LAST, |
| 301 | @@ -3231,6 +3395,11 @@ enum nl80211_attrs { |
| 302 | #define NL80211_HE_MIN_CAPABILITY_LEN 16 |
| 303 | #define NL80211_HE_MAX_CAPABILITY_LEN 54 |
| 304 | #define NL80211_MAX_NR_CIPHER_SUITES 5 |
| 305 | + |
| 306 | +/* |
| 307 | + * NL80211_MAX_NR_AKM_SUITES is obsolete when %NL80211_ATTR_MAX_NUM_AKM_SUITES |
| 308 | + * present in %NL80211_CMD_GET_WIPHY response. |
| 309 | + */ |
| 310 | #define NL80211_MAX_NR_AKM_SUITES 2 |
| 311 | #define NL80211_EHT_MIN_CAPABILITY_LEN 13 |
| 312 | #define NL80211_EHT_MAX_CAPABILITY_LEN 51 |
| 313 | @@ -3892,6 +4061,10 @@ enum nl80211_band_iftype_attr { |
| 314 | * @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes |
| 315 | * the allowed channel bandwidth configurations. |
| 316 | * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13. |
| 317 | + * @NL80211_BAND_ATTR_S1G_MCS_NSS_SET: S1G capabilities, supported S1G-MCS and NSS |
| 318 | + * set subfield, as in the S1G information IE, 5 bytes |
| 319 | + * @NL80211_BAND_ATTR_S1G_CAPA: S1G capabilities information subfield as in the |
| 320 | + * S1G information IE, 10 bytes |
| 321 | * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined |
| 322 | * @__NL80211_BAND_ATTR_AFTER_LAST: internal use |
| 323 | */ |
| 324 | @@ -3912,6 +4085,9 @@ enum nl80211_band_attr { |
| 325 | NL80211_BAND_ATTR_EDMG_CHANNELS, |
| 326 | NL80211_BAND_ATTR_EDMG_BW_CONFIG, |
| 327 | |
| 328 | + NL80211_BAND_ATTR_S1G_MCS_NSS_SET, |
| 329 | + NL80211_BAND_ATTR_S1G_CAPA, |
| 330 | + |
| 331 | /* keep last */ |
| 332 | __NL80211_BAND_ATTR_AFTER_LAST, |
| 333 | NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1 |
| 334 | @@ -4853,6 +5029,8 @@ enum nl80211_bss_scan_width { |
| 335 | * Contains a nested array of signal strength attributes (u8, dBm), |
| 336 | * using the nesting index as the antenna number. |
| 337 | * @NL80211_BSS_FREQUENCY_OFFSET: frequency offset in KHz |
| 338 | + * @NL80211_BSS_MLO_LINK_ID: MLO link ID of the BSS (u8). |
| 339 | + * @NL80211_BSS_MLD_ADDR: MLD address of this BSS if connected to it. |
| 340 | * @__NL80211_BSS_AFTER_LAST: internal |
| 341 | * @NL80211_BSS_MAX: highest BSS attribute |
| 342 | */ |
| 343 | @@ -4878,6 +5056,8 @@ enum nl80211_bss { |
| 344 | NL80211_BSS_PARENT_BSSID, |
| 345 | NL80211_BSS_CHAIN_SIGNAL, |
| 346 | NL80211_BSS_FREQUENCY_OFFSET, |
| 347 | + NL80211_BSS_MLO_LINK_ID, |
| 348 | + NL80211_BSS_MLD_ADDR, |
| 349 | |
| 350 | /* keep last */ |
| 351 | __NL80211_BSS_AFTER_LAST, |
| 352 | @@ -5757,6 +5937,7 @@ enum plink_actions { |
| 353 | #define NL80211_KEK_LEN 16 |
| 354 | #define NL80211_KCK_EXT_LEN 24 |
| 355 | #define NL80211_KEK_EXT_LEN 32 |
| 356 | +#define NL80211_KCK_EXT_LEN_32 32 |
| 357 | #define NL80211_REPLAY_CTR_LEN 8 |
| 358 | |
| 359 | /** |
| 360 | @@ -5874,7 +6055,7 @@ enum nl80211_ap_sme_features { |
| 361 | * @NL80211_FEATURE_INACTIVITY_TIMER: This driver takes care of freeing up |
| 362 | * the connected inactive stations in AP mode. |
| 363 | * @NL80211_FEATURE_CELL_BASE_REG_HINTS: This driver has been tested |
| 364 | - * to work properly to suppport receiving regulatory hints from |
| 365 | + * to work properly to support receiving regulatory hints from |
| 366 | * cellular base stations. |
| 367 | * @NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL: (no longer available, only |
| 368 | * here to reserve the value for API/ABI compatibility) |
| 369 | @@ -6174,6 +6355,23 @@ enum nl80211_feature_flags { |
| 370 | * @NL80211_EXT_FEATURE_RADAR_BACKGROUND: Device supports background radar/CAC |
| 371 | * detection. |
| 372 | * |
| 373 | + * @NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE: Device can perform a MAC address |
| 374 | + * change without having to bring the underlying network device down |
| 375 | + * first. For example, in station mode this can be used to vary the |
| 376 | + * origin MAC address prior to a connection to a new AP for privacy |
| 377 | + * or other reasons. Note that certain driver specific restrictions |
| 378 | + * might apply, e.g. no scans in progress, no offchannel operations |
| 379 | + * in progress, and no active connections. |
| 380 | + * |
| 381 | + * @NL80211_EXT_FEATURE_PUNCT: Driver supports preamble puncturing in AP mode. |
| 382 | + * |
| 383 | + * @NL80211_EXT_FEATURE_SECURE_NAN: Device supports NAN Pairing which enables |
| 384 | + * authentication, data encryption and message integrity. |
| 385 | + * |
| 386 | + * @NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA: Device supports randomized TA |
| 387 | + * in authentication and deauthentication frames sent to unassociated peer |
| 388 | + * using @NL80211_CMD_FRAME. |
| 389 | + * |
| 390 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 391 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| 392 | */ |
| 393 | @@ -6241,6 +6439,10 @@ enum nl80211_ext_feature_index { |
| 394 | NL80211_EXT_FEATURE_BSS_COLOR, |
| 395 | NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD, |
| 396 | NL80211_EXT_FEATURE_RADAR_BACKGROUND, |
| 397 | + NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE, |
| 398 | + NL80211_EXT_FEATURE_PUNCT, |
| 399 | + NL80211_EXT_FEATURE_SECURE_NAN, |
| 400 | + NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA, |
| 401 | |
| 402 | /* add new features before the definition below */ |
| 403 | NUM_NL80211_EXT_FEATURES, |
| 404 | @@ -6355,8 +6557,16 @@ enum nl80211_timeout_reason { |
| 405 | * @NL80211_SCAN_FLAG_FREQ_KHZ: report scan results with |
| 406 | * %NL80211_ATTR_SCAN_FREQ_KHZ. This also means |
| 407 | * %NL80211_ATTR_SCAN_FREQUENCIES will not be included. |
| 408 | - * @NL80211_SCAN_FLAG_COLOCATED_6GHZ: scan for colocated APs reported by |
| 409 | - * 2.4/5 GHz APs |
| 410 | + * @NL80211_SCAN_FLAG_COLOCATED_6GHZ: scan for collocated APs reported by |
| 411 | + * 2.4/5 GHz APs. When the flag is set, the scan logic will use the |
| 412 | + * information from the RNR element found in beacons/probe responses |
| 413 | + * received on the 2.4/5 GHz channels to actively scan only the 6GHz |
| 414 | + * channels on which APs are expected to be found. Note that when not set, |
| 415 | + * the scan logic would scan all 6GHz channels, but since transmission of |
| 416 | + * probe requests on non PSC channels is limited, it is highly likely that |
| 417 | + * these channels would passively be scanned. Also note that when the flag |
| 418 | + * is set, in addition to the colocated APs, PSC channels would also be |
| 419 | + * scanned if the user space has asked for it. |
| 420 | */ |
| 421 | enum nl80211_scan_flags { |
| 422 | NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, |
| 423 | -- |
| 424 | 2.39.2 |
| 425 | |