[PATCH 10/13] mbssid: DTIM period configuration for EMA AP
Aloka Dixit
quic_alokad at quicinc.com
Wed Mar 2 14:26:31 PST 2022
Set the DTIM periods of non-transmitted profiles equal to the EMA
profile periodicity if those are not a multiple of the latter
already as recommended in IEEE P802.11ax/D8.0, October 2020,
Multiple BSSID configuration examples, AA.1 Introduction.
Signed-off-by: Aloka Dixit <quic_alokad at quicinc.com>
---
src/ap/ieee802_11.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
index 33db7b411a8a..3365b48fa639 100644
--- a/src/ap/ieee802_11.c
+++ b/src/ap/ieee802_11.c
@@ -7560,7 +7560,7 @@ size_t hostapd_eid_mbssid_len(struct hostapd_data *hapd, u32 frame_type,
static u8 * hostapd_eid_mbssid_elem(struct hostapd_data *hapd, u8 *eid, u8 *end,
u32 frame_type, u8 max_bssid_indicator,
- size_t *bss_index)
+ size_t *bss_index, u8 elem_count)
{
struct hostapd_data *tx_bss = hostapd_mbssid_get_tx_bss(hapd);
size_t i;
@@ -7601,6 +7601,9 @@ static u8 * hostapd_eid_mbssid_elem(struct hostapd_data *hapd, u8 *eid, u8 *end,
if (frame_type == WLAN_FC_STYPE_BEACON) {
*eid++ = 3;
*eid++ = i;
+ if (hapd->iconf->ema &&
+ (conf->dtim_period % elem_count))
+ conf->dtim_period = elem_count;
*eid++ = conf->dtim_period;
*eid++ = 0xFF;
} else {
@@ -7686,7 +7689,7 @@ u8 * hostapd_eid_mbssid(struct hostapd_data *hapd, u8 *eid, u8 *end,
}
eid = hostapd_eid_mbssid_elem(hapd, eid, end, frame_type,
hostapd_max_bssid_indicator(hapd),
- &bss_index);
+ &bss_index, elem_count);
}
return eid;
}
--
2.31.1
More information about the Hostap
mailing list