Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

wifi: mac80211: add generic MMIE struct defines

The added struct is needed when writing generic handler for both CMAC-128
and CMAC-256.

Signed-off-by: Chien Wong <m@xv97.com>
Link: https://patch.msgid.link/20251113140511.48658-3-m@xv97.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>

authored by

Chien Wong and committed by
Johannes Berg
4255545a 353cda30

+13 -1
+13 -1
include/linux/ieee80211.h
··· 1207 1207 #define IEEE80211_MIN_ACTION_SIZE offsetof(struct ieee80211_mgmt, u.action.u) 1208 1208 1209 1209 1210 - /* Management MIC information element (IEEE 802.11w) */ 1210 + /* Management MIC information element (IEEE 802.11w) for CMAC */ 1211 1211 struct ieee80211_mmie { 1212 1212 u8 element_id; 1213 1213 u8 length; ··· 1223 1223 __le16 key_id; 1224 1224 u8 sequence_number[6]; 1225 1225 u8 mic[16]; 1226 + } __packed; 1227 + 1228 + /* Management MIC information element (IEEE 802.11w) for all variants */ 1229 + struct ieee80211_mmie_var { 1230 + u8 element_id; 1231 + u8 length; 1232 + __le16 key_id; 1233 + u8 sequence_number[6]; 1234 + u8 mic[]; /* 8 or 16 bytes */ 1226 1235 } __packed; 1227 1236 1228 1237 struct ieee80211_vendor_ie { ··· 1898 1889 #define IEEE80211_GCMP_HDR_LEN 8 1899 1890 #define IEEE80211_GCMP_MIC_LEN 16 1900 1891 #define IEEE80211_GCMP_PN_LEN 6 1892 + #define IEEE80211_CMAC_128_MIC_LEN 8 1893 + #define IEEE80211_CMAC_256_MIC_LEN 16 1894 + #define IEEE80211_GMAC_MIC_LEN 16 1901 1895 1902 1896 #define FILS_NONCE_LEN 16 1903 1897 #define FILS_MAX_KEK_LEN 64