summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJouni Malinen2009-01-08 12:32:10 +0100
committerJohn W. Linville2009-01-29 22:00:08 +0100
commit1f7d77ab69789980dad44e1af7afd3a68cd48276 (patch)
tree35406a27e707f0ebda27aaada47bc4c90fb26d31 /include
parentmac80211: 802.11w - Implement Association Comeback processing (diff)
downloadkernel-qcow2-linux-1f7d77ab69789980dad44e1af7afd3a68cd48276.tar.gz
kernel-qcow2-linux-1f7d77ab69789980dad44e1af7afd3a68cd48276.tar.xz
kernel-qcow2-linux-1f7d77ab69789980dad44e1af7afd3a68cd48276.zip
mac80211: 802.11w - Optional software CCMP for management frames
If driver/firmware/hardware does not support CCMP for management frames, it can now request mac80211 to take care of encrypting and decrypting management frames (when MFP is enabled) in software. The will need to add this new IEEE80211_KEY_FLAG_SW_MGMT flag when a CCMP key is being configured for TX side and return the undecrypted frames on RX side without RX_FLAG_DECRYPTED flag to use software CCMP for management frames (but hardware for data frames). Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r--include/net/mac80211.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 61f1f37a9e27..00a50a38c7f2 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -686,12 +686,16 @@ enum ieee80211_key_len {
* generation in software.
* @IEEE80211_KEY_FLAG_PAIRWISE: Set by mac80211, this flag indicates
* that the key is pairwise rather then a shared key.
+ * @IEEE80211_KEY_FLAG_SW_MGMT: This flag should be set by the driver for a
+ * CCMP key if it requires CCMP encryption of management frames (MFP) to
+ * be done in software.
*/
enum ieee80211_key_flags {
IEEE80211_KEY_FLAG_WMM_STA = 1<<0,
IEEE80211_KEY_FLAG_GENERATE_IV = 1<<1,
IEEE80211_KEY_FLAG_GENERATE_MMIC= 1<<2,
IEEE80211_KEY_FLAG_PAIRWISE = 1<<3,
+ IEEE80211_KEY_FLAG_SW_MGMT = 1<<4,
};
/**