Hi, > @@ -2813,6 +2826,7 @@ struct cfg80211_pmk_conf { > * use %WLAN_STATUS_UNSPECIFIED_FAILURE if user space cannot give you > * the real status code for failures. Used only for the authentication > * response command interface (user space to driver). > + * @pmkid: The identifier to refer a PMKSA. > */ > struct cfg80211_external_auth_params { > enum nl80211_external_auth_action action; > @@ -2820,6 +2834,7 @@ struct cfg80211_external_auth_params { > struct cfg80211_ssid ssid; > unsigned int key_mgmt_suite; > u16 status; > + const u8 *pmkid; So, interesting - Andrei also added the PMKID but also the PMK here, in a separate patch: https://patchwork.kernel.org/patch/10732093/ > * @NL80211_ATTR_EXTERNAL_AUTH_SUPPORT: Flag attribute indicating that the user > - * space supports external authentication. This attribute shall be used > - * only with %NL80211_CMD_CONNECT request. The driver may offload > - * authentication processing to user space if this capability is indicated > - * in NL80211_CMD_CONNECT requests from the user space. > + * space supports external authentication. This attribute shall be used > + * with %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP request. The driver > + * may offload authentication processing to user space if this capability > + * is indicated in the respective requests from the user space. Thanks for indenting this properly. > @@ -12981,7 +12984,10 @@ static int nl80211_external_auth(struct sk_buff *skb, struct genl_info *info) > if (!rdev->ops->external_auth) > return -EOPNOTSUPP; > > - if (!info->attrs[NL80211_ATTR_SSID]) > + if (!info->attrs[NL80211_ATTR_SSID] && > + dev->ieee80211_ptr->iftype != NL80211_IFTYPE_AP && > + dev->ieee80211_ptr->iftype != NL80211_IFTYPE_AP_VLAN && > + dev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_GO) > return -EINVAL; Hm. do we really expect this on AP_VLAN? johannes