wlan-ap-Telecominfraproject/feeds/ipq95xx/hostapd/patches/q01-001-mbssid-add-configuration-options.patch
John Crispin b9b03a6e38 ipq95xx: add Qualcomm wifi-7 support
Signed-off-by: John Crispin <john@phrozen.org>
2023-04-10 14:25:48 +02:00

76 lines
2.2 KiB
Diff

From cb6afcaacd3f0de23882fdd5e341a986a860bb3e Mon Sep 17 00:00:00 2001
From: John Crispin <john@phrozen.org>
Date: Fri, 10 Sep 2021 14:47:55 -0700
Subject: [PATCH 01/15] mbssid: add configuration options
Add configuration options to enable multiple BSSID (MBSSID) and
enhanced multiple BSSID advertisements (EMA).
MBSSID enablement is mandatory to enable EMA.
Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
---
hostapd/config_file.c | 4 ++++
hostapd/hostapd.conf | 10 ++++++++++
src/ap/ap_config.c | 5 +++++
src/ap/ap_config.h | 2 ++
4 files changed, 21 insertions(+)
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
@@ -4658,6 +4658,10 @@ static int hostapd_config_fill(struct ho
return 1;
} else if (os_strcmp(buf, "rnr") == 0) {
bss->rnr = atoi(pos);
+ } else if (os_strcmp(buf, "mbssid") == 0) {
+ conf->mbssid = atoi(pos);
+ } else if (os_strcmp(buf, "ema") == 0) {
+ conf->ema = atoi(pos);
} else {
wpa_printf(MSG_ERROR,
"Line %d: unknown configuration item '%s'",
--- a/hostapd/hostapd.conf
+++ b/hostapd/hostapd.conf
@@ -986,6 +986,16 @@ wmm_ac_vo_acm=0
# Valid range: 0..20 TUs; default is 0 (disabled)
#unsol_bcast_probe_resp_interval=0
+# Multiple BSSID element support in beacon and probe response frames.
+# 0 = Disabled
+# 1 = Enabled
+#mbssid=0
+
+# Enhanced multiple BSSID advertisements support in beacons.
+# 0 = Disabled
+# 1 = Enabled
+#ema=0
+
##### IEEE 802.1X-2004 related configuration ##################################
# Require IEEE 802.1X authorization
--- a/src/ap/ap_config.c
+++ b/src/ap/ap_config.c
@@ -1503,6 +1503,11 @@ int hostapd_config_check(struct hostapd_
return -1;
}
+ if (!conf->mbssid && conf->ema) {
+ wpa_printf(MSG_ERROR, "mbssid must be enabled to enable ema");
+ return -1;
+ }
+
for (i = 0; i < conf->num_bss; i++) {
if (hostapd_config_check_bss(conf->bss[i], conf, full_config))
return -1;
--- a/src/ap/ap_config.h
+++ b/src/ap/ap_config.h
@@ -1123,6 +1123,8 @@ struct hostapd_config {
unsigned int airtime_update_interval;
#define AIRTIME_MODE_MAX (__AIRTIME_MODE_MAX - 1)
#endif /* CONFIG_AIRTIME_POLICY */
+ u8 mbssid;
+ u8 ema;
};
static inline u8 hostapd_get_he_6ghz_reg_pwr_type(struct hostapd_config *conf)