nl80211: Disable EAPOL TX over control port in AP mode by default
Since this nl80211 mechanism for sending EAPOL frames does not currently support TX status notification, disable it by default of AP mode where the Authenticator state machine uses those notifications to optimize retransmission. The control port TX can be enabled for AP mode with driver param control_port_ap=1. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
12ea7dee31
commit
c1bc0dd80d
2 changed files with 8 additions and 1 deletions
|
@ -5328,7 +5328,10 @@ static int wpa_driver_nl80211_hapd_send_eapol(
|
|||
int res;
|
||||
int qos = flags & WPA_STA_WMM;
|
||||
|
||||
if (drv->capa.flags & WPA_DRIVER_FLAGS_CONTROL_PORT)
|
||||
/* For now, disable EAPOL TX over control port in AP mode by default
|
||||
* since it does not provide TX status notifications. */
|
||||
if (drv->control_port_ap &&
|
||||
(drv->capa.flags & WPA_DRIVER_FLAGS_CONTROL_PORT))
|
||||
return nl80211_tx_control_port(bss, addr, ETH_P_EAPOL,
|
||||
data, data_len, !encrypt);
|
||||
|
||||
|
@ -8173,6 +8176,9 @@ static int nl80211_set_param(void *priv, const char *param)
|
|||
drv->capa.flags2 &= ~WPA_DRIVER_FLAGS2_CONTROL_PORT_RX;
|
||||
}
|
||||
|
||||
if (os_strstr(param, "control_port_ap=1"))
|
||||
drv->control_port_ap = 1;
|
||||
|
||||
if (os_strstr(param, "full_ap_client_state=0"))
|
||||
drv->capa.flags &= ~WPA_DRIVER_FLAGS_FULL_AP_CLIENT_STATE;
|
||||
|
||||
|
|
|
@ -171,6 +171,7 @@ struct wpa_driver_nl80211_data {
|
|||
unsigned int roam_vendor_cmd_avail:1;
|
||||
unsigned int get_supported_akm_suites_avail:1;
|
||||
unsigned int add_sta_node_vendor_cmd_avail:1;
|
||||
unsigned int control_port_ap:1;
|
||||
|
||||
u64 vendor_scan_cookie;
|
||||
u64 remain_on_chan_cookie;
|
||||
|
|
Loading…
Reference in a new issue