FT: Make FT-over-DS configurable (hostapd.conf ft_over_ds=0/1)

This commit is contained in:
Shan Palanisamy 2010-10-25 13:35:51 +03:00 committed by Jouni Malinen
parent c0647147c1
commit d7956add9c
6 changed files with 12 additions and 1 deletions

View File

@ -1673,6 +1673,8 @@ struct hostapd_config * hostapd_config_read(const char *fname)
} }
} else if (os_strcmp(buf, "pmk_r1_push") == 0) { } else if (os_strcmp(buf, "pmk_r1_push") == 0) {
bss->pmk_r1_push = atoi(pos); bss->pmk_r1_push = atoi(pos);
} else if (os_strcmp(buf, "ft_over_ds") == 0) {
bss->ft_over_ds = atoi(pos);
#endif /* CONFIG_IEEE80211R */ #endif /* CONFIG_IEEE80211R */
#ifndef CONFIG_NO_CTRL_IFACE #ifndef CONFIG_NO_CTRL_IFACE
} else if (os_strcmp(buf, "ctrl_interface") == 0) { } else if (os_strcmp(buf, "ctrl_interface") == 0) {

View File

@ -89,6 +89,10 @@ void hostapd_config_defaults_bss(struct hostapd_bss_config *bss)
/* Set to -1 as defaults depends on HT in setup */ /* Set to -1 as defaults depends on HT in setup */
bss->wmm_enabled = -1; bss->wmm_enabled = -1;
#ifdef CONFIG_IEEE80211R
bss->ft_over_ds = 1;
#endif /* CONFIG_IEEE80211R */
} }

View File

@ -232,6 +232,7 @@ struct hostapd_bss_config {
struct ft_remote_r0kh *r0kh_list; struct ft_remote_r0kh *r0kh_list;
struct ft_remote_r1kh *r1kh_list; struct ft_remote_r1kh *r1kh_list;
int pmk_r1_push; int pmk_r1_push;
int ft_over_ds;
#endif /* CONFIG_IEEE80211R */ #endif /* CONFIG_IEEE80211R */
char *ctrl_interface; /* directory for UNIX domain sockets */ char *ctrl_interface; /* directory for UNIX domain sockets */

View File

@ -160,6 +160,7 @@ struct wpa_auth_config {
struct ft_remote_r0kh *r0kh_list; struct ft_remote_r0kh *r0kh_list;
struct ft_remote_r1kh *r1kh_list; struct ft_remote_r1kh *r1kh_list;
int pmk_r1_push; int pmk_r1_push;
int ft_over_ds;
#endif /* CONFIG_IEEE80211R */ #endif /* CONFIG_IEEE80211R */
}; };

View File

@ -92,7 +92,9 @@ int wpa_write_mdie(struct wpa_auth_config *conf, u8 *buf, size_t len)
*pos++ = MOBILITY_DOMAIN_ID_LEN + 1; *pos++ = MOBILITY_DOMAIN_ID_LEN + 1;
os_memcpy(pos, conf->mobility_domain, MOBILITY_DOMAIN_ID_LEN); os_memcpy(pos, conf->mobility_domain, MOBILITY_DOMAIN_ID_LEN);
pos += MOBILITY_DOMAIN_ID_LEN; pos += MOBILITY_DOMAIN_ID_LEN;
capab = RSN_FT_CAPAB_FT_OVER_DS; capab = 0;
if (conf->ft_over_ds)
capab |= RSN_FT_CAPAB_FT_OVER_DS;
*pos++ = capab; *pos++ = capab;
return pos - buf; return pos - buf;

View File

@ -71,6 +71,7 @@ static void hostapd_wpa_auth_conf(struct hostapd_bss_config *conf,
wconf->r0kh_list = conf->r0kh_list; wconf->r0kh_list = conf->r0kh_list;
wconf->r1kh_list = conf->r1kh_list; wconf->r1kh_list = conf->r1kh_list;
wconf->pmk_r1_push = conf->pmk_r1_push; wconf->pmk_r1_push = conf->pmk_r1_push;
wconf->ft_over_ds = conf->ft_over_ds;
#endif /* CONFIG_IEEE80211R */ #endif /* CONFIG_IEEE80211R */
} }