hostapd: Allow FTM functionality to be published
Add configuration options that control publishing of fine timing measurement (FTM) responder and initiator functionality via bits 70, 71 of Extended Capabilities element. Typically, FTM functionality is controlled by a location framework outside hostapd. When framework is activated, it will use hostapd to configure the AP to publish the FTM functionality. See IEEE P802.11-REVmc/D7.0, 9.4.2.27. Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
This commit is contained in:
parent
ff22993594
commit
faecb39236
4 changed files with 26 additions and 0 deletions
|
@ -3487,6 +3487,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
|
|||
WLAN_RRM_CAPS_NEIGHBOR_REPORT;
|
||||
} else if (os_strcmp(buf, "gas_address3") == 0) {
|
||||
bss->gas_address3 = atoi(pos);
|
||||
} else if (os_strcmp(buf, "ftm_responder") == 0) {
|
||||
bss->ftm_responder = atoi(pos);
|
||||
} else if (os_strcmp(buf, "ftm_initiator") == 0) {
|
||||
bss->ftm_initiator = atoi(pos);
|
||||
} else {
|
||||
wpa_printf(MSG_ERROR,
|
||||
"Line %d: unknown configuration item '%s'",
|
||||
|
|
|
@ -1916,6 +1916,16 @@ own_ip_addr=127.0.0.1
|
|||
# Enable neighbor report via radio measurements
|
||||
#rrm_neighbor_report=1
|
||||
|
||||
# Publish fine timing measurement (FTM) responder functionality
|
||||
# This parameter only controls publishing via Extended Capabilities element.
|
||||
# Actual functionality is managed outside hostapd.
|
||||
#ftm_responder=0
|
||||
|
||||
# Publish fine timing measurement (FTM) initiator functionality
|
||||
# This parameter only controls publishing via Extended Capabilities element.
|
||||
# Actual functionality is managed outside hostapd.
|
||||
#ftm_initiator=0
|
||||
|
||||
##### TESTING OPTIONS #########################################################
|
||||
#
|
||||
# The options in this section are only available when the build configuration
|
||||
|
|
|
@ -592,6 +592,9 @@ struct hostapd_bss_config {
|
|||
#ifdef CONFIG_MBO
|
||||
int mbo_enabled;
|
||||
#endif /* CONFIG_MBO */
|
||||
|
||||
int ftm_responder;
|
||||
int ftm_initiator;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -218,6 +218,12 @@ static void hostapd_ext_capab_byte(struct hostapd_data *hapd, u8 *pos, int idx)
|
|||
if (hapd->conf->ssid.utf8_ssid)
|
||||
*pos |= 0x01; /* Bit 48 - UTF-8 SSID */
|
||||
break;
|
||||
case 8: /* Bits 64-71 */
|
||||
if (hapd->conf->ftm_responder)
|
||||
*pos |= 0x40; /* Bit 70 - FTM responder */
|
||||
if (hapd->conf->ftm_initiator)
|
||||
*pos |= 0x80; /* Bit 71 - FTM initiator */
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -237,6 +243,9 @@ u8 * hostapd_eid_ext_capab(struct hostapd_data *hapd, u8 *eid)
|
|||
len = 1;
|
||||
if (len < 7 && hapd->conf->ssid.utf8_ssid)
|
||||
len = 7;
|
||||
if (len < 9 &&
|
||||
(hapd->conf->ftm_initiator || hapd->conf->ftm_responder))
|
||||
len = 9;
|
||||
#ifdef CONFIG_WNM
|
||||
if (len < 4)
|
||||
len = 4;
|
||||
|
|
Loading…
Reference in a new issue