params.wpa_pairwise = hapd->conf->wpa_pairwise;
params.wpa_key_mgmt = hapd->conf->wpa_key_mgmt;
params.rsn_preauth = hapd->conf->rsn_preauth;
+#ifdef CONFIG_IEEE80211W
+ params.ieee80211w = hapd->conf->ieee80211w;
+#endif /* CONFIG_IEEE80211W */
}
return hostapd_set_ieee8021x(hapd, ¶ms);
}
v = 0;
if (params->rsn_preauth)
v |= BIT(0);
+#ifdef CONFIG_IEEE80211W
+ if (params->ieee80211w != NO_MGMT_FRAME_PROTECTION) {
+ v |= BIT(7);
+ if (params->ieee80211w == MGMT_FRAME_PROTECTION_REQUIRED)
+ v |= BIT(6);
+ }
+#endif /* CONFIG_IEEE80211W */
+
wpa_printf(MSG_DEBUG, "%s: rsn capabilities=0x%x",
__func__, params->rsn_preauth);
if (set80211param(drv, IEEE80211_PARAM_RSNCAPS, v)) {
case WPA_ALG_CCMP:
cipher = IEEE80211_CIPHER_AES_CCM;
break;
+#ifdef CONFIG_IEEE80211W
+ case WPA_ALG_IGTK:
+ cipher = IEEE80211_CIPHER_AES_CMAC;
+ break;
+#endif /* CONFIG_IEEE80211W */
default:
printf("%s: unknown/unsupported algorithm %d\n",
__func__, alg);