Allow advertising of U-APSD functionality in Beacon
hostapd does not implement UAPSD functionality. However, if U-APSD functionality is implemented outside hostapd, add support to advertise the functionality in beacon. Signed-off-by: yogeshp@marvell.com
This commit is contained in:
parent
86d4f806da
commit
721abef9b3
6 changed files with 12 additions and 0 deletions
|
@ -1815,6 +1815,8 @@ struct hostapd_config * hostapd_config_read(const char *fname)
|
||||||
} else if (os_strcmp(buf, "wme_enabled") == 0 ||
|
} else if (os_strcmp(buf, "wme_enabled") == 0 ||
|
||||||
os_strcmp(buf, "wmm_enabled") == 0) {
|
os_strcmp(buf, "wmm_enabled") == 0) {
|
||||||
bss->wmm_enabled = atoi(pos);
|
bss->wmm_enabled = atoi(pos);
|
||||||
|
} else if (os_strcmp(buf, "uapsd_advertisement_enabled") == 0) {
|
||||||
|
bss->wmm_uapsd = atoi(pos);
|
||||||
} else if (os_strncmp(buf, "wme_ac_", 7) == 0 ||
|
} else if (os_strncmp(buf, "wme_ac_", 7) == 0 ||
|
||||||
os_strncmp(buf, "wmm_ac_", 7) == 0) {
|
os_strncmp(buf, "wmm_ac_", 7) == 0) {
|
||||||
if (hostapd_config_wmm_ac(conf, buf, pos)) {
|
if (hostapd_config_wmm_ac(conf, buf, pos)) {
|
||||||
|
|
|
@ -283,6 +283,10 @@ ignore_broadcast_ssid=0
|
||||||
#
|
#
|
||||||
wmm_enabled=1
|
wmm_enabled=1
|
||||||
#
|
#
|
||||||
|
# WMM-PS Unscheduled Automatic Power Save Delivery [U-APSD]
|
||||||
|
# Enable this flag if U-APSD supported outside hostapd (eg., Firmware/driver)
|
||||||
|
#uapsd_advertisement_enabled=1
|
||||||
|
#
|
||||||
# Low priority / AC_BK = background
|
# Low priority / AC_BK = background
|
||||||
wmm_ac_bk_cwmin=4
|
wmm_ac_bk_cwmin=4
|
||||||
wmm_ac_bk_cwmax=10
|
wmm_ac_bk_cwmax=10
|
||||||
|
|
|
@ -270,6 +270,7 @@ struct hostapd_bss_config {
|
||||||
int ignore_broadcast_ssid;
|
int ignore_broadcast_ssid;
|
||||||
|
|
||||||
int wmm_enabled;
|
int wmm_enabled;
|
||||||
|
int wmm_uapsd;
|
||||||
|
|
||||||
struct hostapd_vlan *vlan, *vlan_tail;
|
struct hostapd_vlan *vlan, *vlan_tail;
|
||||||
|
|
||||||
|
|
|
@ -71,6 +71,9 @@ 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)
|
||||||
|
wmm->qos_info |= 0x80;
|
||||||
|
|
||||||
/* fill in a parameter set record for each AC */
|
/* fill in a parameter set record for each AC */
|
||||||
for (e = 0; e < 4; e++) {
|
for (e = 0; e < 4; e++) {
|
||||||
struct wmm_ac_parameter *ac = &wmm->ac[e];
|
struct wmm_ac_parameter *ac = &wmm->ac[e];
|
||||||
|
|
|
@ -142,6 +142,7 @@ struct wpa_auth_config {
|
||||||
int eapol_version;
|
int eapol_version;
|
||||||
int peerkey;
|
int peerkey;
|
||||||
int wmm_enabled;
|
int wmm_enabled;
|
||||||
|
int wmm_uapsd;
|
||||||
int okc;
|
int okc;
|
||||||
#ifdef CONFIG_IEEE80211W
|
#ifdef CONFIG_IEEE80211W
|
||||||
enum mfp_options ieee80211w;
|
enum mfp_options ieee80211w;
|
||||||
|
|
|
@ -47,6 +47,7 @@ static void hostapd_wpa_auth_conf(struct hostapd_bss_config *conf,
|
||||||
wconf->eapol_version = conf->eapol_version;
|
wconf->eapol_version = conf->eapol_version;
|
||||||
wconf->peerkey = conf->peerkey;
|
wconf->peerkey = conf->peerkey;
|
||||||
wconf->wmm_enabled = conf->wmm_enabled;
|
wconf->wmm_enabled = conf->wmm_enabled;
|
||||||
|
wconf->wmm_uapsd = conf->wmm_uapsd;
|
||||||
wconf->okc = conf->okc;
|
wconf->okc = conf->okc;
|
||||||
#ifdef CONFIG_IEEE80211W
|
#ifdef CONFIG_IEEE80211W
|
||||||
wconf->ieee80211w = conf->ieee80211w;
|
wconf->ieee80211w = conf->ieee80211w;
|
||||||
|
|
Loading…
Reference in a new issue