| From d50b1a10adccff5c2154517cc9c8adfd249f4339 Mon Sep 17 00:00:00 2001 | |
| From: Roy Luo <royluo@google.com> | |
| Date: Tue, 2 Jul 2019 13:47:24 -0700 | |
| Subject: [PATCH] BACKPORT: sync enum nl80211_commands with kernel v5.2 | |
| The following upstream commits add support of | |
| nl80211 command NL80211_CMD_PROBE_MESH_LINK: | |
| 5ab92e7fe49ad74293b50fb9e6f25be5521e2f68 | |
| 060167729a78d626abaee1a0ebb64b252374426e | |
| 8828f81ad4a2f4e89ebe6e7793c06ed767c31d53 | |
| This patch sync the enum nl80211_commands with | |
| kernel v5.2 in order to use the new nl80211 command. | |
| Signed-off-by: Roy Luo <royluo@google.com> | |
| --- | |
| include/uapi/linux/nl80211.h | 119+++++++++++++++++++++++++++++++++++++++++++++++ | |
| 1 file changed, 119 insertions(+) | |
| diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h | |
| index f840536..79e9734 100644 | |
| --- a/include/uapi/linux/nl80211.h | |
| +++ b/include/uapi/linux/nl80211.h | |
| @@ -982,6 +982,103 @@ | |
| * @NL80211_CMD_DEL_PMK: For offloaded 4-Way handshake, delete the previously | |
| * configured PMK for the authenticator address identified by | |
| * &NL80211_ATTR_MAC. | |
| + * @NL80211_CMD_PORT_AUTHORIZED: An event that indicates that the 4 way | |
| + * handshake was completed successfully by the driver. The BSSID is | |
| + * specified with %NL80211_ATTR_MAC. Drivers that support 4 way handshake | |
| + * offload should send this event after indicating 802.11 association with | |
| + * %NL80211_CMD_CONNECT or %NL80211_CMD_ROAM. If the 4 way handshake failed | |
| + * %NL80211_CMD_DISCONNECT should be indicated instead. | |
| + * | |
| + * @NL80211_CMD_CONTROL_PORT_FRAME: Control Port (e.g. PAE) frame TX request | |
| + * and RX notification. This command is used both as a request to transmit | |
| + * a control port frame and as a notification that a control port frame | |
| + * has been received. %NL80211_ATTR_FRAME is used to specify the | |
| + * frame contents. The frame is the raw EAPoL data, without ethernet or | |
| + * 802.11 headers. | |
| + * When used as an event indication %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, | |
| + * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT and %NL80211_ATTR_MAC are added | |
| + * indicating the protocol type of the received frame; whether the frame | |
| + * was received unencrypted and the MAC address of the peer respectively. | |
| + * | |
| + * @NL80211_CMD_RELOAD_REGDB: Request that the regdb firmware file is reloaded. | |
| + * | |
| + * @NL80211_CMD_EXTERNAL_AUTH: This interface is exclusively defined for host | |
| + * drivers that do not define separate commands for authentication and | |
| + * association, but rely on user space for the authentication to happen. | |
| + * This interface acts both as the event request (driver to user space) | |
| + * to trigger the authentication and command response (userspace to | |
| + * driver) to indicate the authentication status. | |
| + * | |
| + * User space uses the %NL80211_CMD_CONNECT command to the host driver to | |
| + * trigger a connection. The host driver selects a BSS and further uses | |
| + * this interface to offload only the authentication part to the user | |
| + * space. Authentication frames are passed between the driver and user | |
| + * space through the %NL80211_CMD_FRAME interface. Host driver proceeds | |
| + * further with the association after getting successful authentication | |
| + * status. User space indicates the authentication status through | |
| + * %NL80211_ATTR_STATUS_CODE attribute in %NL80211_CMD_EXTERNAL_AUTH | |
| + * command interface. | |
| + * | |
| + * Host driver reports this status on an authentication failure to the | |
| + * user space through the connect result as the user space would have | |
| + * initiated the connection through the connect request. | |
| + * | |
| + * @NL80211_CMD_STA_OPMODE_CHANGED: An event that notify station's | |
| + * ht opmode or vht opmode changes using any of %NL80211_ATTR_SMPS_MODE, | |
| + * %NL80211_ATTR_CHANNEL_WIDTH,%NL80211_ATTR_NSS attributes with its | |
| + * address(specified in %NL80211_ATTR_MAC). | |
| + * | |
| + * @NL80211_CMD_GET_FTM_RESPONDER_STATS: Retrieve FTM responder statistics, in | |
| + * the %NL80211_ATTR_FTM_RESPONDER_STATS attribute. | |
| + * | |
| + * @NL80211_CMD_PEER_MEASUREMENT_START: start a (set of) peer measurement(s) | |
| + * with the given parameters, which are encapsulated in the nested | |
| + * %NL80211_ATTR_PEER_MEASUREMENTS attribute. Optionally, MAC address | |
| + * randomization may be enabled and configured by specifying the | |
| + * %NL80211_ATTR_MAC and %NL80211_ATTR_MAC_MASK attributes. | |
| + * If a timeout is requested, use the %NL80211_ATTR_TIMEOUT attribute. | |
| + * A u64 cookie for further %NL80211_ATTR_COOKIE use is is returned in | |
| + * the netlink extended ack message. | |
| + * | |
| + * To cancel a measurement, close the socket that requested it. | |
| + * | |
| + * Measurement results are reported to the socket that requested the | |
| + * measurement using @NL80211_CMD_PEER_MEASUREMENT_RESULT when they | |
| + * become available, so applications must ensure a large enough socket | |
| + * buffer size. | |
| + * | |
| + * Depending on driver support it may or may not be possible to start | |
| + * multiple concurrent measurements. | |
| + * @NL80211_CMD_PEER_MEASUREMENT_RESULT: This command number is used for the | |
| + * result notification from the driver to the requesting socket. | |
| + * @NL80211_CMD_PEER_MEASUREMENT_COMPLETE: Notification only, indicating that | |
| + * the measurement completed, using the measurement cookie | |
| + * (%NL80211_ATTR_COOKIE). | |
| + * | |
| + * @NL80211_CMD_NOTIFY_RADAR: Notify the kernel that a radar signal was | |
| + * detected and reported by a neighboring device on the channel | |
| + * indicated by %NL80211_ATTR_WIPHY_FREQ and other attributes | |
| + * determining the width and type. | |
| + * | |
| + * @NL80211_CMD_UPDATE_OWE_INFO: This interface allows the host driver to | |
| + * offload OWE processing to user space. This intends to support | |
| + * OWE AKM by the host drivers that implement SME but rely | |
| + * on the user space for the cryptographic/DH IE processing in AP mode. | |
| + * | |
| + * @NL80211_CMD_PROBE_MESH_LINK: The requirement for mesh link metric | |
| + * refreshing, is that from one mesh point we be able to send some data | |
| + * frames to other mesh points which are not currently selected as a | |
| + * primary traffic path, but which are only 1 hop away. The absence of | |
| + * the primary path to the chosen node makes it necessary to apply some | |
| + * form of marking on a chosen packet stream so that the packets can be | |
| + * properly steered to the selected node for testing, and not by the | |
| + * regular mesh path lookup. Further, the packets must be of type data | |
| + * so that the rate control (often embedded in firmware) is used for | |
| + * rate selection. | |
| + * | |
| + * Here attribute %NL80211_ATTR_MAC is used to specify connected mesh | |
| + * peer MAC address and %NL80211_ATTR_FRAME is used to specify the frame | |
| + * content. The frame is ethernet data. | |
| * | |
| * @NL80211_CMD_MAX: highest used command number | |
| * @__NL80211_CMD_AFTER_LAST: internal use | |
| @@ -1185,6 +1200,28 @@ enum nl80211_commands { | |
| NL80211_CMD_SET_PMK, | |
| NL80211_CMD_DEL_PMK, | |
| + NL80211_CMD_PORT_AUTHORIZED, | |
| + | |
| + NL80211_CMD_RELOAD_REGDB, | |
| + | |
| + NL80211_CMD_EXTERNAL_AUTH, | |
| + | |
| + NL80211_CMD_STA_OPMODE_CHANGED, | |
| + | |
| + NL80211_CMD_CONTROL_PORT_FRAME, | |
| + | |
| + NL80211_CMD_GET_FTM_RESPONDER_STATS, | |
| + | |
| + NL80211_CMD_PEER_MEASUREMENT_START, | |
| + NL80211_CMD_PEER_MEASUREMENT_RESULT, | |
| + NL80211_CMD_PEER_MEASUREMENT_COMPLETE, | |
| + | |
| + NL80211_CMD_NOTIFY_RADAR, | |
| + | |
| + NL80211_CMD_UPDATE_OWE_INFO, | |
| + | |
| + NL80211_CMD_PROBE_MESH_LINK, | |
| + | |
| /* add new commands above here */ | |
| /* used to define NL80211_CMD_MAX below */ | |
| -- | |
| 2.22.0.657.g960e92d24f-goog |