aboutsummaryrefslogtreecommitdiffstats
path: root/hostapd/config_file.c
diff options
context:
space:
mode:
authorDavid Spinadel <david.spinadel@intel.com>2016-04-06 16:42:06 (GMT)
committerJouni Malinen <j@w1.fi>2016-04-16 18:05:39 (GMT)
commit010182120d736c925a65971efb75be0006f40dd6 (patch)
tree521910caaaed972922b11da9aa9cf7c09c6dabe9 /hostapd/config_file.c
parent56de6fe4fe1ee373776059ef668fbc83624195a6 (diff)
downloadhostap-010182120d736c925a65971efb75be0006f40dd6.zip
hostap-010182120d736c925a65971efb75be0006f40dd6.tar.gz
hostap-010182120d736c925a65971efb75be0006f40dd6.tar.bz2
hostapd: Extend the configuration of RRM capabilities
Extend the radio_measurements parameter to save all the supported RRM capabilities as it's used in RM enabled capabilities element. Make this parameter not directly configurable via config file (though, keep the radio_measurements parameter for some time for backwards compatibility). Instead, add a configuration option to enable neighbor report via radio measurements. Other features can be added later as well. Signed-off-by: David Spinadel <david.spinadel@intel.com>
Diffstat (limited to 'hostapd/config_file.c')
-rw-r--r--hostapd/config_file.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
index 3e8130b..bb7f3ea 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
@@ -3321,7 +3321,15 @@ static int hostapd_config_fill(struct hostapd_config *conf,
WPA_PUT_LE16(&bss->bss_load_test[3], atoi(pos));
bss->bss_load_test_set = 1;
} else if (os_strcmp(buf, "radio_measurements") == 0) {
- bss->radio_measurements = atoi(pos);
+ /*
+ * DEPRECATED: This parameter will be removed in the future.
+ * Use rrm_neighbor_report instead.
+ */
+ int val = atoi(pos);
+
+ if (val & BIT(0))
+ bss->radio_measurements[0] |=
+ WLAN_RRM_CAPS_NEIGHBOR_REPORT;
} else if (os_strcmp(buf, "own_ie_override") == 0) {
struct wpabuf *tmp;
size_t len = os_strlen(pos) / 2;
@@ -3468,6 +3476,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
} else if (os_strcmp(buf, "civic") == 0) {
wpabuf_free(conf->civic);
conf->civic = wpabuf_parse_bin(pos);
+ } else if (os_strcmp(buf, "rrm_neighbor_report") == 0) {
+ if (atoi(pos))
+ bss->radio_measurements[0] |=
+ WLAN_RRM_CAPS_NEIGHBOR_REPORT;
} else {
wpa_printf(MSG_ERROR,
"Line %d: unknown configuration item '%s'",