Johannes Berg says: ==================== Various updates across wireless. One thing to note: I've included a new ethertype that wireless uses (ETH_P_PREAUTH) in if_ether.h. ====================
Showing the changes to include/uapi/linux (2 of 25 files). Show all
Unified · Split
| @@ -88,6 +88,7 @@ · 87 unmodified lines | ||
| 88 | 88 | #define ETH_P_AOE 0x88A2 /* ATA over Ethernet */ |
| 89 | 89 | #define ETH_P_8021AD 0x88A8 /* 802.1ad Service VLAN */ |
| 90 | 90 | #define ETH_P_802_EX1 0x88B5 /* 802.1 Local Experimental 1. */ |
| 91 | +#define ETH_P_PREAUTH 0x88C7 /* 802.11 Preauthentication */ | |
| 91 | 92 | #define ETH_P_TIPC 0x88CA /* TIPC */ |
| 92 | 93 | #define ETH_P_MACSEC 0x88E5 /* 802.1ae MACsec */ |
| 93 | 94 | #define ETH_P_8021AH 0x88E7 /* 802.1ah Backbone Service Tag */ |
| @@ -992,6 +992,32 @@ · 991 unmodified lines | ||
| 992 | 992 | * |
| 993 | 993 | * @NL80211_CMD_RELOAD_REGDB: Request that the regdb firmware file is reloaded. |
| 994 | 994 | * |
| 995 | + * @NL80211_CMD_EXTERNAL_AUTH: This interface is exclusively defined for host | |
| 996 | + * drivers that do not define separate commands for authentication and | |
| 997 | + * association, but rely on user space for the authentication to happen. | |
| 998 | + * This interface acts both as the event request (driver to user space) | |
| 999 | + * to trigger the authentication and command response (userspace to | |
| 1000 | + * driver) to indicate the authentication status. | |
| 1001 | + * | |
| 1002 | + * User space uses the %NL80211_CMD_CONNECT command to the host driver to | |
| 1003 | + * trigger a connection. The host driver selects a BSS and further uses | |
| 1004 | + * this interface to offload only the authentication part to the user | |
| 1005 | + * space. Authentication frames are passed between the driver and user | |
| 1006 | + * space through the %NL80211_CMD_FRAME interface. Host driver proceeds | |
| 1007 | + * further with the association after getting successful authentication | |
| 1008 | + * status. User space indicates the authentication status through | |
| 1009 | + * %NL80211_ATTR_STATUS_CODE attribute in %NL80211_CMD_EXTERNAL_AUTH | |
| 1010 | + * command interface. | |
| 1011 | + * | |
| 1012 | + * Host driver reports this status on an authentication failure to the | |
| 1013 | + * user space through the connect result as the user space would have | |
| 1014 | + * initiated the connection through the connect request. | |
| 1015 | + * | |
| 1016 | + * @NL80211_CMD_STA_OPMODE_CHANGED: An event that notify station's | |
| 1017 | + * ht opmode or vht opmode changes using any of &NL80211_ATTR_SMPS_MODE, | |
| 1018 | + * &NL80211_ATTR_CHANNEL_WIDTH,&NL80211_ATTR_NSS attributes with its | |
| 1019 | + * address(specified in &NL80211_ATTR_MAC). | |
| 1020 | + * | |
| 995 | 1021 | * @NL80211_CMD_MAX: highest used command number |
| 996 | 1022 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 997 | 1023 | */ |
| @@ -1198,6 +1224,10 @@ enum nl80211_commands { · 200 unmodified lines | ||
| 1198 | 1224 | |
| 1199 | 1225 | NL80211_CMD_RELOAD_REGDB, |
| 1200 | 1226 | |
| 1227 | + NL80211_CMD_EXTERNAL_AUTH, | |
| 1228 | + | |
| 1229 | + NL80211_CMD_STA_OPMODE_CHANGED, | |
| 1230 | + | |
| 1201 | 1231 | /* add new commands above here */ |
| 1202 | 1232 | |
| 1203 | 1233 | /* used to define NL80211_CMD_MAX below */ |
| @@ -2153,6 +2183,19 @@ enum nl80211_commands { · 949 unmodified lines | ||
| 2153 | 2183 | * @NL80211_ATTR_PMKR0_NAME: PMK-R0 Name for offloaded FT. |
| 2154 | 2184 | * @NL80211_ATTR_PORT_AUTHORIZED: (reserved) |
| 2155 | 2185 | * |
| 2186 | + * @NL80211_ATTR_EXTERNAL_AUTH_ACTION: Identify the requested external | |
| 2187 | + * authentication operation (u32 attribute with an | |
| 2188 | + * &enum nl80211_external_auth_action value). This is used with the | |
| 2189 | + * &NL80211_CMD_EXTERNAL_AUTH request event. | |
| 2190 | + * @NL80211_ATTR_EXTERNAL_AUTH_SUPPORT: Flag attribute indicating that the user | |
| 2191 | + * space supports external authentication. This attribute shall be used | |
| 2192 | + * only with %NL80211_CMD_CONNECT request. The driver may offload | |
| 2193 | + * authentication processing to user space if this capability is indicated | |
| 2194 | + * in NL80211_CMD_CONNECT requests from the user space. | |
| 2195 | + * | |
| 2196 | + * @NL80211_ATTR_NSS: Station's New/updated RX_NSS value notified using this | |
| 2197 | + * u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED. | |
| 2198 | + * | |
| 2156 | 2199 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2157 | 2200 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 2158 | 2201 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| @@ -2579,6 +2622,12 @@ enum nl80211_attrs { · 420 unmodified lines | ||
| 2579 | 2622 | NL80211_ATTR_PMKR0_NAME, |
| 2580 | 2623 | NL80211_ATTR_PORT_AUTHORIZED, |
| 2581 | 2624 | |
| 2625 | + NL80211_ATTR_EXTERNAL_AUTH_ACTION, | |
| 2626 | + NL80211_ATTR_EXTERNAL_AUTH_SUPPORT, | |
| 2627 | + | |
| 2628 | + NL80211_ATTR_NSS, | |
| 2629 | + NL80211_ATTR_ACK_SIGNAL, | |
| 2630 | + | |
| 2582 | 2631 | /* add attributes here, update the policy in nl80211.c */ |
| 2583 | 2632 | |
| 2584 | 2633 | __NL80211_ATTR_AFTER_LAST, |
| @@ -2899,6 +2948,7 @@ enum nl80211_sta_bss_param { · 314 unmodified lines | ||
| 2899 | 2948 | * @NL80211_STA_INFO_RX_DURATION: aggregate PPDU duration for all frames |
| 2900 | 2949 | * received from the station (u64, usec) |
| 2901 | 2950 | * @NL80211_STA_INFO_PAD: attribute used for padding for 64-bit alignment |
| 2951 | + * @NL80211_STA_INFO_ACK_SIGNAL: signal strength of the last ACK frame(u8, dBm) | |
| 2902 | 2952 | * @__NL80211_STA_INFO_AFTER_LAST: internal |
| 2903 | 2953 | * @NL80211_STA_INFO_MAX: highest possible station info attribute |
| 2904 | 2954 | */ |
| @@ -2937,6 +2987,7 @@ enum nl80211_sta_info { · 32 unmodified lines | ||
| 2937 | 2987 | NL80211_STA_INFO_TID_STATS, |
| 2938 | 2988 | NL80211_STA_INFO_RX_DURATION, |
| 2939 | 2989 | NL80211_STA_INFO_PAD, |
| 2990 | + NL80211_STA_INFO_ACK_SIGNAL, | |
| 2940 | 2991 | |
| 2941 | 2992 | /* keep last */ |
| 2942 | 2993 | __NL80211_STA_INFO_AFTER_LAST, |
| @@ -4945,6 +4996,9 @@ enum nl80211_feature_flags { · 2002 unmodified lines | ||
| 4945 | 4996 | * probe request tx deferral and suppression |
| 4946 | 4997 | * @NL80211_EXT_FEATURE_MFP_OPTIONAL: Driver supports the %NL80211_MFP_OPTIONAL |
| 4947 | 4998 | * value in %NL80211_ATTR_USE_MFP. |
| 4999 | + * @NL80211_EXT_FEATURE_LOW_SPAN_SCAN: Driver supports low span scan. | |
| 5000 | + * @NL80211_EXT_FEATURE_LOW_POWER_SCAN: Driver supports low power scan. | |
| 5001 | + * @NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN: Driver supports high accuracy scan. | |
| 4948 | 5002 | * |
| 4949 | 5003 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 4950 | 5004 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| @@ -4972,6 +5026,9 @@ enum nl80211_ext_feature_index { · 21 unmodified lines | ||
| 4972 | 5026 | NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE, |
| 4973 | 5027 | NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION, |
| 4974 | 5028 | NL80211_EXT_FEATURE_MFP_OPTIONAL, |
| 5029 | + NL80211_EXT_FEATURE_LOW_SPAN_SCAN, | |
| 5030 | + NL80211_EXT_FEATURE_LOW_POWER_SCAN, | |
| 5031 | + NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN, | |
| 4975 | 5032 | |
| 4976 | 5033 | /* add new features before the definition below */ |
| 4977 | 5034 | NUM_NL80211_EXT_FEATURES, |
| @@ -5032,6 +5089,10 @@ enum nl80211_timeout_reason { · 54 unmodified lines | ||
| 5032 | 5089 | * of NL80211_CMD_TRIGGER_SCAN and NL80211_CMD_START_SCHED_SCAN |
| 5033 | 5090 | * requests. |
| 5034 | 5091 | * |
| 5092 | + * NL80211_SCAN_FLAG_LOW_SPAN, NL80211_SCAN_FLAG_LOW_POWER, and | |
| 5093 | + * NL80211_SCAN_FLAG_HIGH_ACCURACY flags are exclusive of each other, i.e., only | |
| 5094 | + * one of them can be used in the request. | |
| 5095 | + * | |
| 5035 | 5096 | * @NL80211_SCAN_FLAG_LOW_PRIORITY: scan request has low priority |
| 5036 | 5097 | * @NL80211_SCAN_FLAG_FLUSH: flush cache before scanning |
| 5037 | 5098 | * @NL80211_SCAN_FLAG_AP: force a scan even if the interface is configured |
| @@ -5059,7 +5120,20 @@ enum nl80211_timeout_reason { · 21 unmodified lines | ||
| 5059 | 5120 | * and suppression (if it has received a broadcast Probe Response frame, |
| 5060 | 5121 | * Beacon frame or FILS Discovery frame from an AP that the STA considers |
| 5061 | 5122 | * a suitable candidate for (re-)association - suitable in terms of |
| 5062 | − * SSID and/or RSSI | |
| 5123 | + * SSID and/or RSSI. | |
| 5124 | + * @NL80211_SCAN_FLAG_LOW_SPAN: Span corresponds to the total time taken to | |
| 5125 | + * accomplish the scan. Thus, this flag intends the driver to perform the | |
| 5126 | + * scan request with lesser span/duration. It is specific to the driver | |
| 5127 | + * implementations on how this is accomplished. Scan accuracy may get | |
| 5128 | + * impacted with this flag. | |
| 5129 | + * @NL80211_SCAN_FLAG_LOW_POWER: This flag intends the scan attempts to consume | |
| 5130 | + * optimal possible power. Drivers can resort to their specific means to | |
| 5131 | + * optimize the power. Scan accuracy may get impacted with this flag. | |
| 5132 | + * @NL80211_SCAN_FLAG_HIGH_ACCURACY: Accuracy here intends to the extent of scan | |
| 5133 | + * results obtained. Thus HIGH_ACCURACY scan flag aims to get maximum | |
| 5134 | + * possible scan results. This flag hints the driver to use the best | |
| 5135 | + * possible scan configuration to improve the accuracy in scanning. | |
| 5136 | + * Latency and power use may get impacted with this flag. | |
| 5063 | 5137 | */ |
| 5064 | 5138 | enum nl80211_scan_flags { |
| 5065 | 5139 | NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, |
| @@ -5070,6 +5144,9 @@ enum nl80211_scan_flags { · 4 unmodified lines | ||
| 5070 | 5144 | NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP = 1<<5, |
| 5071 | 5145 | NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE = 1<<6, |
| 5072 | 5146 | NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 1<<7, |
| 5147 | + NL80211_SCAN_FLAG_LOW_SPAN = 1<<8, | |
| 5148 | + NL80211_SCAN_FLAG_LOW_POWER = 1<<9, | |
| 5149 | + NL80211_SCAN_FLAG_HIGH_ACCURACY = 1<<10, | |
| 5073 | 5150 | }; |
| 5074 | 5151 | |
| 5075 | 5152 | /** |
| @@ -5469,4 +5546,15 @@ enum nl80211_nan_match_attributes { · 393 unmodified lines | ||
| 5469 | 5546 | NL80211_NAN_MATCH_ATTR_MAX = NUM_NL80211_NAN_MATCH_ATTR - 1 |
| 5470 | 5547 | }; |
| 5471 | 5548 | |
| 5549 | +/** | |
| 5550 | + * nl80211_external_auth_action - Action to perform with external | |
| 5551 | + * authentication request. Used by NL80211_ATTR_EXTERNAL_AUTH_ACTION. | |
| 5552 | + * @NL80211_EXTERNAL_AUTH_START: Start the authentication. | |
| 5553 | + * @NL80211_EXTERNAL_AUTH_ABORT: Abort the ongoing authentication. | |
| 5554 | + */ | |
| 5555 | +enum nl80211_external_auth_action { | |
| 5556 | + NL80211_EXTERNAL_AUTH_START, | |
| 5557 | + NL80211_EXTERNAL_AUTH_ABORT, | |
| 5558 | +}; | |
| 5559 | + | |
| 5472 | 5560 | #endif /* __LINUX_NL80211_H */ |