cfg80211/nl80211: Optional authentication offload to userspace
authorSrinivas Dasari <dasaris@qti.qualcomm.com>
Thu, 25 Jan 2018 15:13:38 +0000 (17:13 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 31 Jan 2018 11:56:52 +0000 (12:56 +0100)
commit40cbfa90218bc570a7959b436b9d48a18c361041
tree875d9606ce484261a21a2ff1b17055af42cbc3af
parent5037a00992e5fcb3d8509964313565a3dab6697c
cfg80211/nl80211: Optional authentication offload to userspace

This interface allows the host driver to offload the authentication to
user space. This is exclusively defined for host drivers that do not
define separate commands for authentication and association, but rely on
userspace SME (e.g., in wpa_supplicant for the ~WPA_DRIVER_FLAGS_SME
case) for the authentication to happen. This can be used to implement
SAE without full implementation in the kernel/firmware while still being
able to use NL80211_CMD_CONNECT with driver-based BSS selection.

Host driver sends NL80211_CMD_EXTERNAL_AUTH event to start/abort
authentication to the port on which connect is triggered and status
of authentication is further indicated by user space to host
driver through the same command response interface.

User space entities advertise this capability through the
NL80211_ATTR_EXTERNAL_AUTH_SUPP flag in the NL80211_CMD_CONNECT request.
Host drivers shall look at this capability to offload the authentication.

Signed-off-by: Srinivas Dasari <dasaris@qti.qualcomm.com>
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
[add socket connection ownership check]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/cfg80211.h
include/uapi/linux/nl80211.h
net/wireless/nl80211.c
net/wireless/rdev-ops.h
net/wireless/trace.h