• Srinivas Dasari's avatar
    cfg80211: Authentication offload to user space in AP mode · fe494370
    Srinivas Dasari authored
    commit 40cbfa90 ("cfg80211/nl80211: Optional authentication
    offload to userspace")' introduced authentication offload to user
    space by the host drivers in station mode. This commit extends
    the same for the AP mode too.
    
    Extend NL80211_ATTR_EXTERNAL_AUTH_SUPPORT to also claim the
    support of external authentication from the user space in AP mode.
    A new flag parameter is introduced in cfg80211_ap_settings to
    intend the same while "start ap".
    
    Host driver to use NL80211_CMD_FRAME interface to transmit and
    receive the authentication frames to / from the user space.
    
    Host driver to indicate the flag NL80211_RXMGMT_FLAG_EXTERNAL_AUTH
    while sending the authentication frame to the user space. This
    intends to the user space that the driver wishes it to process
    the authentication frame for certain protocols, though it had
    initially advertised the support for SME functionality.
    
    User space shall accordingly do the authentication and indicate
    its final status through the command NL80211_CMD_EXTERNAL_AUTH.
    Allow the command even if userspace doesn't include the attribute
    NL80211_ATTR_SSID for AP interface.
    
    Host driver shall continue with the association sequence and
    indicate the STA connection status through cfg80211_new_sta.
    
    To facilitate the host drivers in AP mode for matching the pmkid
    by the stations during the association, NL80211_CMD_EXTERNAL_AUTH
    is also enhanced to include the pmkid to drivers after
    the authentication.
    This pmkid can also be used in the STA mode to include in the
    association request.
    
    Also modify nl80211_external_auth to not mandate SSID in AP mode.
    Signed-off-by: default avatarSrinivas Dasari <dasaris@codeaurora.org>
    [remove useless nla_get_flag() usage]
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    fe494370
nl80211.c 436 KB