FT fast roam IE's

Jasraj Randhawa jasraj at dbperformance.com
Fri May 5 13:44:29 PDT 2017

We are testing FT fast roam with wpa_supplicant using a soft-MAC TI wifi
driver and noticed that during an FT fast roam, only the FT IE's are
present in the re-association request. All other IE's that are normally
added to a re-association request are missing. From our investigation we
have determined that the following code causes the behavior:

In the file sme.c, function sme_associate() the parameter params.wpa_ie is
initially set to wpa_s->sme.assoc_req_ie, but overridden with
wpa_s->sme.ft_ies if it is a FT fast roam.

void sme_associate(struct wpa_supplicant *wpa_s, enum wpas_mode mode,
		   const u8 *bssid, u16 auth_type)

	params.bssid = bssid;
	params.ssid = wpa_s->sme.ssid;
	params.ssid_len = wpa_s->sme.ssid_len;
	params.freq.freq = wpa_s->sme.freq;
	params.bg_scan_period = wpa_s->current_ssid ?
		wpa_s->current_ssid->bg_scan_period : -1;

	params.wpa_ie = wpa_s->sme.assoc_req_ie_len ?
		wpa_s->sme.assoc_req_ie : NULL;
	params.wpa_ie_len = wpa_s->sme.assoc_req_ie_len;

	params.pairwise_suite = wpa_s->pairwise_cipher;
	params.group_suite = wpa_s->group_cipher;
	params.key_mgmt_suite = wpa_s->key_mgmt;
	params.wpa_proto = wpa_s->wpa_proto;


#ifdef CONFIG_IEEE80211R
	if (auth_type == WLAN_AUTH_FT && wpa_s->sme.ft_ies) {
		params.wpa_ie = wpa_s->sme.ft_ies;
		params.wpa_ie_len = wpa_s->sme.ft_ies_len;
#endif /* CONFIG_IEEE80211R */


	Is this the intended behavior? From what I understand in the
802.11 specification, other IE's are allowed to be present in the
re-association request even during an FT fast roam.

Jasraj Randhawa
Software Architect
dB Performance Inc.
jasraj at dbperformance.com

More information about the Hostap mailing list