diff --git a/umac/cmn_services/crypto/inc/wlan_crypto_global_def.h b/umac/cmn_services/crypto/inc/wlan_crypto_global_def.h index 623c533841..200d03372e 100644 --- a/umac/cmn_services/crypto/inc/wlan_crypto_global_def.h +++ b/umac/cmn_services/crypto/inc/wlan_crypto_global_def.h @@ -165,6 +165,12 @@ typedef enum wlan_crypto_key_mgmt { WLAN_CRYPTO_KEY_MGMT_OSEN = 15, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SUITE_B = 16, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SUITE_B_192 = 17, + WLAN_CRYPTO_KEY_MGMT_FILS_SHA256 = 18, + WLAN_CRYPTO_KEY_MGMT_FILS_SHA384 = 19, + WLAN_CRYPTO_KEY_MGMT_FT_FILS_SHA256 = 20, + WLAN_CRYPTO_KEY_MGMT_FT_FILS_SHA384 = 21, + WLAN_CRYPTO_KEY_MGMT_OWE = 22, + WLAN_CRYPTO_KEY_MGMT_DPP = 23, } wlan_crypto_key_mgmt; /** diff --git a/umac/cmn_services/crypto/src/wlan_crypto_def_i.h b/umac/cmn_services/crypto/src/wlan_crypto_def_i.h index a318a439cc..e4735deec1 100644 --- a/umac/cmn_services/crypto/src/wlan_crypto_def_i.h +++ b/umac/cmn_services/crypto/src/wlan_crypto_def_i.h @@ -247,9 +247,17 @@ static inline void wlan_crypto_put_be64(u8 *a, u64 val) WLAN_RSN_SEL(12) #define RSN_AUTH_KEY_MGMT_FT_802_1X_SUITE_B_192\ WLAN_RSN_SEL(13) +#define RSN_AUTH_KEY_MGMT_FILS_SHA256 WLAN_RSN_SEL(14) +#define RSN_AUTH_KEY_MGMT_FILS_SHA384 WLAN_RSN_SEL(15) +#define RSN_AUTH_KEY_MGMT_FT_FILS_SHA256\ + WLAN_RSN_SEL(16) +#define RSN_AUTH_KEY_MGMT_FT_FILS_SHA384\ + WLAN_RSN_SEL(17) +#define RSN_AUTH_KEY_MGMT_OWE WLAN_RSN_SEL(18) -#define RSN_AUTH_KEY_MGMT_CCKM WLAN_RSN_CCKM_AKM -#define RSN_AUTH_KEY_MGMT_OSEN (0x019a6f50) +#define RSN_AUTH_KEY_MGMT_CCKM (WLAN_RSN_CCKM_AKM) +#define RSN_AUTH_KEY_MGMT_OSEN (0x019a6f50) +#define RSN_AUTH_KEY_MGMT_DPP (WLAN_RSN_DPP_AKM) #define RSN_CIPHER_SUITE_NONE WLAN_RSN_SEL(WLAN_CSE_NONE) #define RSN_CIPHER_SUITE_WEP40 WLAN_RSN_SEL(WLAN_CSE_WEP40) diff --git a/umac/cmn_services/crypto/src/wlan_crypto_global_api.c b/umac/cmn_services/crypto/src/wlan_crypto_global_api.c index 2109643de7..9b8bea8f9f 100644 --- a/umac/cmn_services/crypto/src/wlan_crypto_global_api.c +++ b/umac/cmn_services/crypto/src/wlan_crypto_global_api.c @@ -1838,6 +1838,18 @@ wlan_crypto_rsn_keymgmt_to_suite(uint32_t keymgmt) return RSN_AUTH_KEY_MGMT_CCKM; case WLAN_CRYPTO_KEY_MGMT_OSEN: return RSN_AUTH_KEY_MGMT_OSEN; + case WLAN_CRYPTO_KEY_MGMT_FILS_SHA256: + return RSN_AUTH_KEY_MGMT_FILS_SHA256; + case WLAN_CRYPTO_KEY_MGMT_FILS_SHA384: + return RSN_AUTH_KEY_MGMT_FILS_SHA384; + case WLAN_CRYPTO_KEY_MGMT_FT_FILS_SHA256: + return RSN_AUTH_KEY_MGMT_FT_FILS_SHA256; + case WLAN_CRYPTO_KEY_MGMT_FT_FILS_SHA384: + return RSN_AUTH_KEY_MGMT_FT_FILS_SHA384; + case WLAN_CRYPTO_KEY_MGMT_OWE: + return RSN_AUTH_KEY_MGMT_OWE; + case WLAN_CRYPTO_KEY_MGMT_DPP: + return RSN_AUTH_KEY_MGMT_DPP; } return status; @@ -1978,6 +1990,18 @@ static int32_t wlan_crypto_rsn_suite_to_keymgmt(uint8_t *sel) return WLAN_CRYPTO_KEY_MGMT_CCKM; case RSN_AUTH_KEY_MGMT_OSEN: return WLAN_CRYPTO_KEY_MGMT_OSEN; + case RSN_AUTH_KEY_MGMT_FILS_SHA256: + return WLAN_CRYPTO_KEY_MGMT_FILS_SHA256; + case RSN_AUTH_KEY_MGMT_FILS_SHA384: + return WLAN_CRYPTO_KEY_MGMT_FILS_SHA384; + case RSN_AUTH_KEY_MGMT_FT_FILS_SHA256: + return WLAN_CRYPTO_KEY_MGMT_FT_FILS_SHA256; + case RSN_AUTH_KEY_MGMT_FT_FILS_SHA384: + return WLAN_CRYPTO_KEY_MGMT_FT_FILS_SHA384; + case RSN_AUTH_KEY_MGMT_OWE: + return WLAN_CRYPTO_KEY_MGMT_OWE; + case RSN_AUTH_KEY_MGMT_DPP: + return WLAN_CRYPTO_KEY_MGMT_DPP; } return status;