mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2025-01-29 08:14:02 -05:00
AP: Consider U-APSD driver support
Check whether the driver advertises support for U-APSD in AP mode, and evaluate wmm_uapsd only in this case. Signed-off-by: Eliad Peller <eliad@wizery.com>
This commit is contained in:
parent
a97bde0af4
commit
70619a5d8a
@ -72,7 +72,8 @@ u8 * hostapd_eid_wmm(struct hostapd_data *hapd, u8 *eid)
|
|||||||
wmm->version = WMM_VERSION;
|
wmm->version = WMM_VERSION;
|
||||||
wmm->qos_info = hapd->parameter_set_count & 0xf;
|
wmm->qos_info = hapd->parameter_set_count & 0xf;
|
||||||
|
|
||||||
if (hapd->conf->wmm_uapsd)
|
if (hapd->conf->wmm_uapsd &&
|
||||||
|
(hapd->iface->drv_flags & WPA_DRIVER_FLAGS_AP_UAPSD))
|
||||||
wmm->qos_info |= 0x80;
|
wmm->qos_info |= 0x80;
|
||||||
|
|
||||||
wmm->reserved = 0;
|
wmm->reserved = 0;
|
||||||
|
@ -774,6 +774,8 @@ struct wpa_driver_capa {
|
|||||||
#define WPA_DRIVER_FLAGS_TDLS_EXTERNAL_SETUP 0x00100000
|
#define WPA_DRIVER_FLAGS_TDLS_EXTERNAL_SETUP 0x00100000
|
||||||
/* Driver indicates support for Probe Response offloading in AP mode */
|
/* Driver indicates support for Probe Response offloading in AP mode */
|
||||||
#define WPA_DRIVER_FLAGS_PROBE_RESP_OFFLOAD 0x00200000
|
#define WPA_DRIVER_FLAGS_PROBE_RESP_OFFLOAD 0x00200000
|
||||||
|
/* Driver supports U-APSD in AP mode */
|
||||||
|
#define WPA_DRIVER_FLAGS_AP_UAPSD 0x00400000
|
||||||
unsigned int flags;
|
unsigned int flags;
|
||||||
|
|
||||||
int max_scan_ssids;
|
int max_scan_ssids;
|
||||||
|
@ -2434,6 +2434,9 @@ broken_combination:
|
|||||||
/* default to 5000 since early versions of mac80211 don't set it */
|
/* default to 5000 since early versions of mac80211 don't set it */
|
||||||
capa->max_remain_on_chan = 5000;
|
capa->max_remain_on_chan = 5000;
|
||||||
|
|
||||||
|
if (tb[NL80211_ATTR_SUPPORT_AP_UAPSD])
|
||||||
|
capa->flags |= WPA_DRIVER_FLAGS_AP_UAPSD;
|
||||||
|
|
||||||
if (tb[NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION])
|
if (tb[NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION])
|
||||||
capa->max_remain_on_chan =
|
capa->max_remain_on_chan =
|
||||||
nla_get_u32(tb[NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION]);
|
nla_get_u32(tb[NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION]);
|
||||||
|
Loading…
Reference in New Issue
Block a user