}
+int rsn_cipher_suite_to_wpa_cipher(u32 cipher)
+{
+ switch (cipher) {
+ case RSN_CIPHER_SUITE_NONE:
+ return WPA_CIPHER_NONE;
+ case RSN_CIPHER_SUITE_TKIP:
+ return WPA_CIPHER_TKIP;
+ case RSN_CIPHER_SUITE_CCMP:
+ return WPA_CIPHER_CCMP;
+ case RSN_CIPHER_SUITE_AES_128_CMAC:
+ return WPA_CIPHER_AES_128_CMAC;
+ case RSN_CIPHER_SUITE_GCMP:
+ return WPA_CIPHER_GCMP;
+ case RSN_CIPHER_SUITE_CCMP_256:
+ return WPA_CIPHER_CCMP_256;
+ case RSN_CIPHER_SUITE_GCMP_256:
+ return WPA_CIPHER_GCMP_256;
+ case RSN_CIPHER_SUITE_BIP_GMAC_128:
+ return WPA_CIPHER_BIP_GMAC_128;
+ case RSN_CIPHER_SUITE_BIP_GMAC_256:
+ return WPA_CIPHER_BIP_GMAC_256;
+ case RSN_CIPHER_SUITE_BIP_CMAC_256:
+ return WPA_CIPHER_BIP_CMAC_256;
+ case RSN_CIPHER_SUITE_NO_GROUP_ADDRESSED:
+ return WPA_CIPHER_GTK_NOT_USED;
+ default:
+ return 0;
+ }
+}
+
+
+int rsn_key_mgmt_to_wpa_akm(u32 akm_suite)
+{
+ switch (akm_suite) {
+ case RSN_AUTH_KEY_MGMT_UNSPEC_802_1X:
+ return WPA_KEY_MGMT_IEEE8021X;
+ case RSN_AUTH_KEY_MGMT_PSK_OVER_802_1X:
+ return WPA_KEY_MGMT_PSK;
+#ifdef CONFIG_IEEE80211R
+ case RSN_AUTH_KEY_MGMT_FT_802_1X:
+ return WPA_KEY_MGMT_FT_IEEE8021X;
+ case RSN_AUTH_KEY_MGMT_FT_PSK:
+ return WPA_KEY_MGMT_FT_PSK;
+#ifdef CONFIG_SHA384
+ case RSN_AUTH_KEY_MGMT_FT_802_1X_SHA384:
+ return WPA_KEY_MGMT_FT_IEEE8021X_SHA384;
+#endif /* CONFIG_SHA384 */
+#endif /* CONFIG_IEEE80211R */
+#ifdef CONFIG_SHA384
+ case RSN_AUTH_KEY_MGMT_802_1X_SHA384:
+ return WPA_KEY_MGMT_IEEE8021X_SHA384;
+#endif /* CONFIG_SHA384 */
+ case RSN_AUTH_KEY_MGMT_802_1X_SHA256:
+ return WPA_KEY_MGMT_IEEE8021X_SHA256;
+ case RSN_AUTH_KEY_MGMT_PSK_SHA256:
+ return WPA_KEY_MGMT_PSK_SHA256;
+#ifdef CONFIG_SAE
+ case RSN_AUTH_KEY_MGMT_SAE:
+ return WPA_KEY_MGMT_SAE;
+ case RSN_AUTH_KEY_MGMT_SAE_EXT_KEY:
+ return WPA_KEY_MGMT_SAE_EXT_KEY;
+ case RSN_AUTH_KEY_MGMT_FT_SAE:
+ return WPA_KEY_MGMT_FT_SAE;
+ case RSN_AUTH_KEY_MGMT_FT_SAE_EXT_KEY:
+ return WPA_KEY_MGMT_FT_SAE_EXT_KEY;
+#endif /* CONFIG_SAE */
+ case RSN_AUTH_KEY_MGMT_802_1X_SUITE_B:
+ return WPA_KEY_MGMT_IEEE8021X_SUITE_B;
+ case RSN_AUTH_KEY_MGMT_802_1X_SUITE_B_192:
+ return WPA_KEY_MGMT_IEEE8021X_SUITE_B_192;
+ case RSN_AUTH_KEY_MGMT_FILS_SHA256:
+ return WPA_KEY_MGMT_FILS_SHA256;
+ case RSN_AUTH_KEY_MGMT_FILS_SHA384:
+ return WPA_KEY_MGMT_FILS_SHA384;
+ case RSN_AUTH_KEY_MGMT_FT_FILS_SHA256:
+ return WPA_KEY_MGMT_FT_FILS_SHA256;
+ case RSN_AUTH_KEY_MGMT_FT_FILS_SHA384:
+ return WPA_KEY_MGMT_FT_FILS_SHA384;
+#ifdef CONFIG_OWE
+ case RSN_AUTH_KEY_MGMT_OWE:
+ return WPA_KEY_MGMT_OWE;
+#endif /* CONFIG_OWE */
+#ifdef CONFIG_DPP
+ case RSN_AUTH_KEY_MGMT_DPP:
+ return WPA_KEY_MGMT_DPP;
+#endif /* CONFIG_DPP */
+#ifdef CONFIG_PASN
+ case RSN_AUTH_KEY_MGMT_PASN:
+ return WPA_KEY_MGMT_PASN;
+#endif /* CONFIG_PASN */
+ default:
+ return 0;
+ }
+}
+
+
/**
* wpa_use_akm_defined - Is AKM-defined Key Descriptor Version used
* @akmp: WPA_KEY_MGMT_* used in key derivation
static int rsn_selector_to_bitfield(const u8 *s)
{
- if (RSN_SELECTOR_GET(s) == RSN_CIPHER_SUITE_NONE)
- return WPA_CIPHER_NONE;
- if (RSN_SELECTOR_GET(s) == RSN_CIPHER_SUITE_TKIP)
- return WPA_CIPHER_TKIP;
- if (RSN_SELECTOR_GET(s) == RSN_CIPHER_SUITE_CCMP)
- return WPA_CIPHER_CCMP;
- if (RSN_SELECTOR_GET(s) == RSN_CIPHER_SUITE_AES_128_CMAC)
- return WPA_CIPHER_AES_128_CMAC;
- if (RSN_SELECTOR_GET(s) == RSN_CIPHER_SUITE_GCMP)
- return WPA_CIPHER_GCMP;
- if (RSN_SELECTOR_GET(s) == RSN_CIPHER_SUITE_CCMP_256)
- return WPA_CIPHER_CCMP_256;
- if (RSN_SELECTOR_GET(s) == RSN_CIPHER_SUITE_GCMP_256)
- return WPA_CIPHER_GCMP_256;
- if (RSN_SELECTOR_GET(s) == RSN_CIPHER_SUITE_BIP_GMAC_128)
- return WPA_CIPHER_BIP_GMAC_128;
- if (RSN_SELECTOR_GET(s) == RSN_CIPHER_SUITE_BIP_GMAC_256)
- return WPA_CIPHER_BIP_GMAC_256;
- if (RSN_SELECTOR_GET(s) == RSN_CIPHER_SUITE_BIP_CMAC_256)
- return WPA_CIPHER_BIP_CMAC_256;
- if (RSN_SELECTOR_GET(s) == RSN_CIPHER_SUITE_NO_GROUP_ADDRESSED)
- return WPA_CIPHER_GTK_NOT_USED;
- return 0;
+ return rsn_cipher_suite_to_wpa_cipher(RSN_SELECTOR_GET(s));
}
static int rsn_key_mgmt_to_bitfield(const u8 *s)
{
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_UNSPEC_802_1X)
- return WPA_KEY_MGMT_IEEE8021X;
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_PSK_OVER_802_1X)
- return WPA_KEY_MGMT_PSK;
-#ifdef CONFIG_IEEE80211R
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_FT_802_1X)
- return WPA_KEY_MGMT_FT_IEEE8021X;
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_FT_PSK)
- return WPA_KEY_MGMT_FT_PSK;
-#ifdef CONFIG_SHA384
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_FT_802_1X_SHA384)
- return WPA_KEY_MGMT_FT_IEEE8021X_SHA384;
-#endif /* CONFIG_SHA384 */
-#endif /* CONFIG_IEEE80211R */
-#ifdef CONFIG_SHA384
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_802_1X_SHA384)
- return WPA_KEY_MGMT_IEEE8021X_SHA384;
-#endif /* CONFIG_SHA384 */
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_802_1X_SHA256)
- return WPA_KEY_MGMT_IEEE8021X_SHA256;
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_PSK_SHA256)
- return WPA_KEY_MGMT_PSK_SHA256;
-#ifdef CONFIG_SAE
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_SAE)
- return WPA_KEY_MGMT_SAE;
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_SAE_EXT_KEY)
- return WPA_KEY_MGMT_SAE_EXT_KEY;
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_FT_SAE)
- return WPA_KEY_MGMT_FT_SAE;
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_FT_SAE_EXT_KEY)
- return WPA_KEY_MGMT_FT_SAE_EXT_KEY;
-#endif /* CONFIG_SAE */
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_802_1X_SUITE_B)
- return WPA_KEY_MGMT_IEEE8021X_SUITE_B;
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_802_1X_SUITE_B_192)
- return WPA_KEY_MGMT_IEEE8021X_SUITE_B_192;
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_FILS_SHA256)
- return WPA_KEY_MGMT_FILS_SHA256;
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_FILS_SHA384)
- return WPA_KEY_MGMT_FILS_SHA384;
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_FT_FILS_SHA256)
- return WPA_KEY_MGMT_FT_FILS_SHA256;
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_FT_FILS_SHA384)
- return WPA_KEY_MGMT_FT_FILS_SHA384;
-#ifdef CONFIG_OWE
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_OWE)
- return WPA_KEY_MGMT_OWE;
-#endif /* CONFIG_OWE */
-#ifdef CONFIG_DPP
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_DPP)
- return WPA_KEY_MGMT_DPP;
-#endif /* CONFIG_DPP */
-#ifdef CONFIG_PASN
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_PASN)
- return WPA_KEY_MGMT_PASN;
-#endif /* CONFIG_PASN */
- return 0;
+ return rsn_key_mgmt_to_wpa_akm(RSN_SELECTOR_GET(s));
}