iw: sync nl80211.h with mac80211 package
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
		| @@ -1,21 +1,305 @@ | ||||
| --- a/nl80211.h | ||||
| +++ b/nl80211.h | ||||
| @@ -1937,6 +1937,9 @@ enum nl80211_commands { | ||||
| @@ -323,7 +323,7 @@ | ||||
|   * @NL80211_CMD_GET_SCAN: get scan results | ||||
|   * @NL80211_CMD_TRIGGER_SCAN: trigger a new scan with the given parameters | ||||
|   *	%NL80211_ATTR_TX_NO_CCK_RATE is used to decide whether to send the | ||||
| - *	probe requests at CCK rate or not. %NL80211_ATTR_MAC can be used to | ||||
| + *	probe requests at CCK rate or not. %NL80211_ATTR_BSSID can be used to | ||||
|   *	specify a BSSID to scan for; if not included, the wildcard BSSID will | ||||
|   *	be used. | ||||
|   * @NL80211_CMD_NEW_SCAN_RESULTS: scan notification (as a reply to | ||||
| @@ -600,6 +600,20 @@ | ||||
|   * | ||||
|   * @NL80211_CMD_SET_WDS_PEER: Set the MAC address of the peer on a WDS interface. | ||||
|   * | ||||
| + * @NL80211_CMD_SET_MULTICAST_TO_UNICAST: Configure if this AP should perform | ||||
| + *	multicast to unicast conversion. When enabled, all multicast packets | ||||
| + *	with ethertype ARP, IPv4 or IPv6 (possibly within an 802.1Q header) | ||||
| + *	will be sent out to each station once with the destination (multicast) | ||||
| + *	MAC address replaced by the station's MAC address. Note that this may | ||||
| + *	break certain expectations of the receiver, e.g. the ability to drop | ||||
| + *	unicast IP packets encapsulated in multicast L2 frames, or the ability | ||||
| + *	to not send destination unreachable messages in such cases. | ||||
| + *	This can only be toggled per BSS. Configure this on an interface of | ||||
| + *	type %NL80211_IFTYPE_AP. It applies to all its VLAN interfaces | ||||
| + *	(%NL80211_IFTYPE_AP_VLAN), except for those in 4addr (WDS) mode. | ||||
| + *	If %NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED is not present with this | ||||
| + *	command, the feature is disabled. | ||||
| + * | ||||
|   * @NL80211_CMD_JOIN_MESH: Join a mesh. The mesh ID must be given, and initial | ||||
|   *	mesh config parameters may be given. | ||||
|   * @NL80211_CMD_LEAVE_MESH: Leave the mesh network -- no special arguments, the | ||||
| @@ -874,6 +888,12 @@ | ||||
|   *	This will contain a %NL80211_ATTR_NAN_MATCH nested attribute and | ||||
|   *	%NL80211_ATTR_COOKIE. | ||||
|   * | ||||
| + * @NL80211_CMD_UPDATE_CONNECT_PARAMS: Update one or more connect parameters | ||||
| + *	for subsequent roaming cases if the driver or firmware uses internal | ||||
| + *	BSS selection. This command can be issued only while connected and it | ||||
| + *	does not result in a change for the current association. Currently, | ||||
| + *	only the %NL80211_ATTR_IE data is used and updated with this command. | ||||
| + * | ||||
|   * @NL80211_CMD_MAX: highest used command number | ||||
|   * @__NL80211_CMD_AFTER_LAST: internal use | ||||
|   */ | ||||
| @@ -1069,6 +1089,10 @@ enum nl80211_commands { | ||||
|  	NL80211_CMD_CHANGE_NAN_CONFIG, | ||||
|  	NL80211_CMD_NAN_MATCH, | ||||
|   | ||||
| +	NL80211_CMD_SET_MULTICAST_TO_UNICAST, | ||||
| + | ||||
| +	NL80211_CMD_UPDATE_CONNECT_PARAMS, | ||||
| + | ||||
|  	/* add new commands above here */ | ||||
|   | ||||
|  	/* used to define NL80211_CMD_MAX below */ | ||||
| @@ -1638,8 +1662,16 @@ enum nl80211_commands { | ||||
|   *	the connection request from a station. nl80211_connect_failed_reason | ||||
|   *	enum has different reasons of connection failure. | ||||
|   * | ||||
| - * @NL80211_ATTR_SAE_DATA: SAE elements in Authentication frames. This starts | ||||
| - *	with the Authentication transaction sequence number field. | ||||
| + * @NL80211_ATTR_AUTH_DATA: Fields and elements in Authentication frames. | ||||
| + *	This contains the authentication frame body (non-IE and IE data), | ||||
| + *	excluding the Authentication algorithm number, i.e., starting at the | ||||
| + *	Authentication transaction sequence number field. It is used with | ||||
| + *	authentication algorithms that need special fields to be added into | ||||
| + *	the frames (SAE and FILS). Currently, only the SAE cases use the | ||||
| + *	initial two fields (Authentication transaction sequence number and | ||||
| + *	Status code). However, those fields are included in the attribute data | ||||
| + *	for all authentication algorithms to keep the attribute definition | ||||
| + *	consistent. | ||||
|   * | ||||
|   * @NL80211_ATTR_VHT_CAPABILITY: VHT Capability information element (from | ||||
|   *	association request when used with NL80211_CMD_NEW_STATION) | ||||
| @@ -1740,7 +1772,9 @@ enum nl80211_commands { | ||||
|   * | ||||
|   * @NL80211_ATTR_OPMODE_NOTIF: Operating mode field from Operating Mode | ||||
|   *	Notification Element based on association request when used with | ||||
| - *	%NL80211_CMD_NEW_STATION; u8 attribute. | ||||
| + *	%NL80211_CMD_NEW_STATION or %NL80211_CMD_SET_STATION (only when | ||||
| + *	%NL80211_FEATURE_FULL_AP_CLIENT_STATE is supported, or with TDLS); | ||||
| + *	u8 attribute. | ||||
|   * | ||||
|   * @NL80211_ATTR_VENDOR_ID: The vendor ID, either a 24-bit OUI or, if | ||||
|   *	%NL80211_VENDOR_ID_IS_LINUX is set, a special Linux ID (not used yet) | ||||
| @@ -1788,6 +1822,8 @@ enum nl80211_commands { | ||||
|   *	and remove functions. NAN notifications will be sent in unicast to that | ||||
|   *	socket. Without this attribute, any socket can add functions and the | ||||
|   *	notifications will be sent to the %NL80211_MCGRP_NAN multicast group. | ||||
| + *	If set during %NL80211_CMD_ASSOCIATE or %NL80211_CMD_CONNECT the | ||||
| + *	station will deauthenticate when the socket is closed. | ||||
|   * | ||||
|   * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is | ||||
|   *	the TDLS link initiator. | ||||
| @@ -1936,6 +1972,38 @@ enum nl80211_commands { | ||||
|   *	attribute. | ||||
|   * @NL80211_ATTR_NAN_MATCH: used to report a match. This is a nested attribute. | ||||
|   *	See &enum nl80211_nan_match_attributes. | ||||
|   * | ||||
| + * @NL80211_ATTR_FILS_KEK: KEK for FILS (Re)Association Request/Response frame | ||||
| + *	protection. | ||||
| + * @NL80211_ATTR_FILS_NONCES: Nonces (part of AAD) for FILS (Re)Association | ||||
| + *	Request/Response frame protection. This attribute contains the 16 octet | ||||
| + *	STA Nonce followed by 16 octets of AP Nonce. | ||||
| + * | ||||
| + * @NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED: Indicates whether or not multicast | ||||
| + *	packets should be send out as unicast to all stations (flag attribute). | ||||
| + * | ||||
| + * @NL80211_ATTR_BSSID: The BSSID of the AP. Note that %NL80211_ATTR_MAC is also | ||||
| + *	used in various commands/events for specifying the BSSID. | ||||
| + * | ||||
| + * @NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI: Relative RSSI threshold by which | ||||
| + *	other BSSs has to be better or slightly worse than the current | ||||
| + *	connected BSS so that they get reported to user space. | ||||
| + *	This will give an opportunity to userspace to consider connecting to | ||||
| + *	other matching BSSs which have better or slightly worse RSSI than | ||||
| + *	the current connected BSS by using an offloaded operation to avoid | ||||
| + *	unnecessary wakeups. | ||||
| + * | ||||
| + * @NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST: When present the RSSI level for BSSs in | ||||
| + *	the specified band is to be adjusted before doing | ||||
| + *	%NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI based comparision to figure out | ||||
| + *	better BSSs. The attribute value is a packed structure | ||||
| + *	value as specified by &struct nl80211_bss_select_rssi_adjust. | ||||
| + * | ||||
| + * @NL80211_ATTR_TIMEOUT_REASON: The reason for which an operation timed out. | ||||
| + *	u32 attribute with an &enum nl80211_timeout_reason value. This is used, | ||||
| + *	e.g., with %NL80211_CMD_CONNECT event. | ||||
| + * | ||||
| + * @NL80211_ATTR_WIPHY_ANTENNA_GAIN: Configured antenna gain. Used to reduce | ||||
| + *	transmit power to stay within regulatory limits. u32, dBi. | ||||
| + * | ||||
|   * | ||||
|   * @NUM_NL80211_ATTR: total number of nl80211_attrs available | ||||
|   * @NL80211_ATTR_MAX: highest attribute number currently defined | ||||
|   * @__NL80211_ATTR_AFTER_LAST: internal use | ||||
| @@ -2336,6 +2339,8 @@ enum nl80211_attrs { | ||||
| @@ -2195,7 +2263,7 @@ enum nl80211_attrs { | ||||
|   | ||||
|  	NL80211_ATTR_CONN_FAILED_REASON, | ||||
|   | ||||
| -	NL80211_ATTR_SAE_DATA, | ||||
| +	NL80211_ATTR_AUTH_DATA, | ||||
|   | ||||
|  	NL80211_ATTR_VHT_CAPABILITY, | ||||
|   | ||||
| @@ -2336,6 +2404,20 @@ enum nl80211_attrs { | ||||
|  	NL80211_ATTR_NAN_FUNC, | ||||
|  	NL80211_ATTR_NAN_MATCH, | ||||
|   | ||||
| +	NL80211_ATTR_FILS_KEK, | ||||
| +	NL80211_ATTR_FILS_NONCES, | ||||
| + | ||||
| +	NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED, | ||||
| + | ||||
| +	NL80211_ATTR_BSSID, | ||||
| + | ||||
| +	NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI, | ||||
| +	NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST, | ||||
| + | ||||
| +	NL80211_ATTR_TIMEOUT_REASON, | ||||
| + | ||||
| +	NL80211_ATTR_WIPHY_ANTENNA_GAIN, | ||||
| + | ||||
|  	/* add attributes here, update the policy in nl80211.c */ | ||||
|   | ||||
|  	__NL80211_ATTR_AFTER_LAST, | ||||
| @@ -2347,6 +2429,7 @@ enum nl80211_attrs { | ||||
|  #define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION | ||||
|  #define	NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG | ||||
|  #define NL80211_ATTR_IFACE_SOCKET_OWNER NL80211_ATTR_SOCKET_OWNER | ||||
| +#define NL80211_ATTR_SAE_DATA NL80211_ATTR_AUTH_DATA | ||||
|   | ||||
|  /* | ||||
|   * Allow user space programs to use #ifdef on new attributes by defining them | ||||
| @@ -3027,6 +3110,13 @@ enum nl80211_reg_rule_attr { | ||||
|   *	how this API was implemented in the past. Also, due to the same problem, | ||||
|   *	the only way to create a matchset with only an RSSI filter (with this | ||||
|   *	attribute) is if there's only a single matchset with the RSSI attribute. | ||||
| + * @NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI: Flag indicating whether | ||||
| + *	%NL80211_SCHED_SCAN_MATCH_ATTR_RSSI to be used as absolute RSSI or | ||||
| + *	relative to current bss's RSSI. | ||||
| + * @NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST: When present the RSSI level for | ||||
| + *	BSS-es in the specified band is to be adjusted before doing | ||||
| + *	RSSI-based BSS selection. The attribute value is a packed structure | ||||
| + *	value as specified by &struct nl80211_bss_select_rssi_adjust. | ||||
|   * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter | ||||
|   *	attribute number currently defined | ||||
|   * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use | ||||
| @@ -3036,6 +3126,8 @@ enum nl80211_sched_scan_match_attr { | ||||
|   | ||||
|  	NL80211_SCHED_SCAN_MATCH_ATTR_SSID, | ||||
|  	NL80211_SCHED_SCAN_MATCH_ATTR_RSSI, | ||||
| +	NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI, | ||||
| +	NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST, | ||||
|   | ||||
|  	/* keep last */ | ||||
|  	__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, | ||||
| @@ -3660,6 +3752,9 @@ enum nl80211_bss_status { | ||||
|   * @NL80211_AUTHTYPE_FT: Fast BSS Transition (IEEE 802.11r) | ||||
|   * @NL80211_AUTHTYPE_NETWORK_EAP: Network EAP (some Cisco APs and mainly LEAP) | ||||
|   * @NL80211_AUTHTYPE_SAE: Simultaneous authentication of equals | ||||
| + * @NL80211_AUTHTYPE_FILS_SK: Fast Initial Link Setup shared key | ||||
| + * @NL80211_AUTHTYPE_FILS_SK_PFS: Fast Initial Link Setup shared key with PFS | ||||
| + * @NL80211_AUTHTYPE_FILS_PK: Fast Initial Link Setup public key | ||||
|   * @__NL80211_AUTHTYPE_NUM: internal | ||||
|   * @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm | ||||
|   * @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by | ||||
| @@ -3672,6 +3767,9 @@ enum nl80211_auth_type { | ||||
|  	NL80211_AUTHTYPE_FT, | ||||
|  	NL80211_AUTHTYPE_NETWORK_EAP, | ||||
|  	NL80211_AUTHTYPE_SAE, | ||||
| +	NL80211_AUTHTYPE_FILS_SK, | ||||
| +	NL80211_AUTHTYPE_FILS_SK_PFS, | ||||
| +	NL80211_AUTHTYPE_FILS_PK, | ||||
|   | ||||
|  	/* keep last */ | ||||
|  	__NL80211_AUTHTYPE_NUM, | ||||
| @@ -4280,6 +4378,9 @@ enum nl80211_iface_limit_attrs { | ||||
|   *	of supported channel widths for radar detection. | ||||
|   * @NL80211_IFACE_COMB_RADAR_DETECT_REGIONS: u32 attribute containing the bitmap | ||||
|   *	of supported regulatory regions for radar detection. | ||||
| + * @NL80211_IFACE_COMB_BI_MIN_GCD: u32 attribute specifying the minimum GCD of | ||||
| + *	different beacon intervals supported by all the interface combinations | ||||
| + *	in this group (if not present, all beacon intervals be identical). | ||||
|   * @NUM_NL80211_IFACE_COMB: number of attributes | ||||
|   * @MAX_NL80211_IFACE_COMB: highest attribute number | ||||
|   * | ||||
| @@ -4287,8 +4388,8 @@ enum nl80211_iface_limit_attrs { | ||||
|   *	limits = [ #{STA} <= 1, #{AP} <= 1 ], matching BI, channels = 1, max = 2 | ||||
|   *	=> allows an AP and a STA that must match BIs | ||||
|   * | ||||
| - *	numbers = [ #{AP, P2P-GO} <= 8 ], channels = 1, max = 8 | ||||
| - *	=> allows 8 of AP/GO | ||||
| + *	numbers = [ #{AP, P2P-GO} <= 8 ], BI min gcd, channels = 1, max = 8, | ||||
| + *	=> allows 8 of AP/GO that can have BI gcd >= min gcd | ||||
|   * | ||||
|   *	numbers = [ #{STA} <= 2 ], channels = 2, max = 2 | ||||
|   *	=> allows two STAs on different channels | ||||
| @@ -4314,6 +4415,7 @@ enum nl80211_if_combination_attrs { | ||||
|  	NL80211_IFACE_COMB_NUM_CHANNELS, | ||||
|  	NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS, | ||||
|  	NL80211_IFACE_COMB_RADAR_DETECT_REGIONS, | ||||
| +	NL80211_IFACE_COMB_BI_MIN_GCD, | ||||
|   | ||||
|  	/* keep last */ | ||||
|  	NUM_NL80211_IFACE_COMB, | ||||
| @@ -4634,6 +4736,15 @@ enum nl80211_feature_flags { | ||||
|   *	configuration (AP/mesh) with HT rates. | ||||
|   * @NL80211_EXT_FEATURE_BEACON_RATE_VHT: Driver supports beacon rate | ||||
|   *	configuration (AP/mesh) with VHT rates. | ||||
| + * @NL80211_EXT_FEATURE_FILS_STA: This driver supports Fast Initial Link Setup | ||||
| + *	with user space SME (NL80211_CMD_AUTHENTICATE) in station mode. | ||||
| + * @NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA: This driver supports randomized TA | ||||
| + *	in @NL80211_CMD_FRAME while not associated. | ||||
| + * @NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED: This driver supports | ||||
| + *	randomized TA in @NL80211_CMD_FRAME while associated. | ||||
| + * @NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI: The driver supports sched_scan | ||||
| + *	for reporting BSSs with better RSSI than the current connected BSS | ||||
| + *	(%NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI). | ||||
|   * | ||||
|   * @NUM_NL80211_EXT_FEATURES: number of extended features. | ||||
|   * @MAX_NL80211_EXT_FEATURES: highest extended feature index. | ||||
| @@ -4648,6 +4759,10 @@ enum nl80211_ext_feature_index { | ||||
|  	NL80211_EXT_FEATURE_BEACON_RATE_LEGACY, | ||||
|  	NL80211_EXT_FEATURE_BEACON_RATE_HT, | ||||
|  	NL80211_EXT_FEATURE_BEACON_RATE_VHT, | ||||
| +	NL80211_EXT_FEATURE_FILS_STA, | ||||
| +	NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA, | ||||
| +	NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED, | ||||
| +	NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI, | ||||
|   | ||||
|  	/* add new features before the definition below */ | ||||
|  	NUM_NL80211_EXT_FEATURES, | ||||
| @@ -4687,6 +4802,21 @@ enum nl80211_connect_failed_reason { | ||||
|  }; | ||||
|   | ||||
|  /** | ||||
| + * enum nl80211_timeout_reason - timeout reasons | ||||
| + * | ||||
| + * @NL80211_TIMEOUT_UNSPECIFIED: Timeout reason unspecified. | ||||
| + * @NL80211_TIMEOUT_SCAN: Scan (AP discovery) timed out. | ||||
| + * @NL80211_TIMEOUT_AUTH: Authentication timed out. | ||||
| + * @NL80211_TIMEOUT_ASSOC: Association timed out. | ||||
| + */ | ||||
| +enum nl80211_timeout_reason { | ||||
| +	NL80211_TIMEOUT_UNSPECIFIED, | ||||
| +	NL80211_TIMEOUT_SCAN, | ||||
| +	NL80211_TIMEOUT_AUTH, | ||||
| +	NL80211_TIMEOUT_ASSOC, | ||||
| +}; | ||||
| + | ||||
| +/** | ||||
|   * enum nl80211_scan_flags -  scan request control flags | ||||
|   * | ||||
|   * Scan request control flags are used to control the handling | ||||
| @@ -4900,8 +5030,9 @@ enum nl80211_sched_scan_plan { | ||||
|  /** | ||||
|   * struct nl80211_bss_select_rssi_adjust - RSSI adjustment parameters. | ||||
|   * | ||||
| - * @band: band of BSS that must match for RSSI value adjustment. | ||||
| - * @delta: value used to adjust the RSSI value of matching BSS. | ||||
| + * @band: band of BSS that must match for RSSI value adjustment. The value | ||||
| + *	of this field is according to &enum nl80211_band. | ||||
| + * @delta: value used to adjust the RSSI value of matching BSS in dB. | ||||
|   */ | ||||
|  struct nl80211_bss_select_rssi_adjust { | ||||
|  	__u8 band; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau