AP: Skip authentication/deauthentication phase for DMG/IEEE 802.11ad
Authentication and Deauthentication frames are not used in DMG/IEEE 802.11ad networks. For DMG/IEEE 802.11ad the following was implemented: Upon receiving association request, allocate the sta object and initialize it as if authentication took place. Upon receiving disassociation, deallocate the sta object. ap_sta_disassociate/ap_sta_deauthenticate/ap_sta_disconnect all use disassociation instead of deauthentication. In driver_nl80211, i802_sta_deauth() is routed to i802_sta_disassoc(). Signed-off-by: Dedy Lansky <qca_dlansky@qca.qualcomm.com>
This commit is contained in:
parent
0c4b9025c1
commit
05e5e615e6
3 changed files with 109 additions and 29 deletions
|
@ -204,6 +204,8 @@ static int nl80211_set_param(void *priv, const char *param);
|
|||
static int nl80211_put_mesh_config(struct nl_msg *msg,
|
||||
struct wpa_driver_mesh_bss_params *params);
|
||||
#endif /* CONFIG_MESH */
|
||||
static int i802_sta_disassoc(void *priv, const u8 *own_addr, const u8 *addr,
|
||||
int reason);
|
||||
|
||||
|
||||
/* Converts nl80211_chan_width to a common format */
|
||||
|
@ -6016,6 +6018,14 @@ static int i802_sta_deauth(void *priv, const u8 *own_addr, const u8 *addr,
|
|||
struct i802_bss *bss = priv;
|
||||
struct wpa_driver_nl80211_data *drv = bss->drv;
|
||||
struct ieee80211_mgmt mgmt;
|
||||
u8 channel;
|
||||
|
||||
if (ieee80211_freq_to_chan(bss->freq, &channel) ==
|
||||
HOSTAPD_MODE_IEEE80211AD) {
|
||||
/* Deauthentication is not used in DMG/IEEE 802.11ad;
|
||||
* disassociate the STA instead. */
|
||||
return i802_sta_disassoc(priv, own_addr, addr, reason);
|
||||
}
|
||||
|
||||
if (is_mesh_interface(drv->nlmode))
|
||||
return -1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue