aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2009-01-08 06:32:10 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-01-29 16:00:08 -0500
commit1f7d77ab69789980dad44e1af7afd3a68cd48276 (patch)
tree35406a27e707f0ebda27aaada47bc4c90fb26d31 /include
parent63a5ab82255a4ff5d0783f16427210f1d45d7ec8 (diff)
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 {
686 * generation in software. 686 * generation in software.
687 * @IEEE80211_KEY_FLAG_PAIRWISE: Set by mac80211, this flag indicates 687 * @IEEE80211_KEY_FLAG_PAIRWISE: Set by mac80211, this flag indicates
688 * that the key is pairwise rather then a shared key. 688 * that the key is pairwise rather then a shared key.
689 * @IEEE80211_KEY_FLAG_SW_MGMT: This flag should be set by the driver for a
690 * CCMP key if it requires CCMP encryption of management frames (MFP) to
691 * be done in software.
689 */ 692 */
690enum ieee80211_key_flags { 693enum ieee80211_key_flags {
691 IEEE80211_KEY_FLAG_WMM_STA = 1<<0, 694 IEEE80211_KEY_FLAG_WMM_STA = 1<<0,
692 IEEE80211_KEY_FLAG_GENERATE_IV = 1<<1, 695 IEEE80211_KEY_FLAG_GENERATE_IV = 1<<1,
693 IEEE80211_KEY_FLAG_GENERATE_MMIC= 1<<2, 696 IEEE80211_KEY_FLAG_GENERATE_MMIC= 1<<2,
694 IEEE80211_KEY_FLAG_PAIRWISE = 1<<3, 697 IEEE80211_KEY_FLAG_PAIRWISE = 1<<3,
698 IEEE80211_KEY_FLAG_SW_MGMT = 1<<4,
695}; 699};
696 700
697/** 701/**