summaryrefslogtreecommitdiffstats
path: root/net/mac80211/key.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2013-12-06 14:25:23 -0500
committerDavid S. Miller <davem@davemloft.net>2013-12-06 14:25:23 -0500
commitf1abb346d80a5882869dba05676056551dc44667 (patch)
treee1ecb7ce5edd6516726b32862ea4f29be4368879 /net/mac80211/key.h
parentf54b311142a92ea2e42598e347b84e1655caf8e3 (diff)
parentd86804cb70f93ca5e4c0fb13402962fbfb705c53 (diff)
downloadlinux-f1abb346d80a5882869dba05676056551dc44667.tar.gz
linux-f1abb346d80a5882869dba05676056551dc44667.tar.bz2
linux-f1abb346d80a5882869dba05676056551dc44667.zip
Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next
John W. Linville says: ==================== Please pull this batch of updates intended for the 3.14 stream... For the mac80211 bits, Johannes says: "I have various improvements/cleanups/fixes all over, but the shortlog shows that Luis's regulatory work and mesh work from the cozybit folks are the biggest ones, along with the CSA fixes." Along with that, we have big batches of updates to brcmfmac, rtlwifi, and ath9k. There are updates to wcn36xx, rt2x00, and a handful of others as well. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac80211/key.h')
-rw-r--r--net/mac80211/key.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/net/mac80211/key.h b/net/mac80211/key.h
index aaae0ed37004..0aebb889caba 100644
--- a/net/mac80211/key.h
+++ b/net/mac80211/key.h
@@ -18,6 +18,7 @@
#define NUM_DEFAULT_KEYS 4
#define NUM_DEFAULT_MGMT_KEYS 2
+#define MAX_PN_LEN 16
struct ieee80211_local;
struct ieee80211_sub_if_data;
@@ -93,6 +94,10 @@ struct ieee80211_key {
u32 replays; /* dot11RSNAStatsCMACReplays */
u32 icverrors; /* dot11RSNAStatsCMACICVErrors */
} aes_cmac;
+ struct {
+ /* generic cipher scheme */
+ u8 rx_pn[IEEE80211_NUM_TIDS + 1][MAX_PN_LEN];
+ } gen;
} u;
/* number of times this key has been used */
@@ -113,9 +118,11 @@ struct ieee80211_key {
struct ieee80211_key_conf conf;
};
-struct ieee80211_key *ieee80211_key_alloc(u32 cipher, int idx, size_t key_len,
- const u8 *key_data,
- size_t seq_len, const u8 *seq);
+struct ieee80211_key *
+ieee80211_key_alloc(u32 cipher, int idx, size_t key_len,
+ const u8 *key_data,
+ size_t seq_len, const u8 *seq,
+ const struct ieee80211_cipher_scheme *cs);
/*
* Insert a key into data structures (sdata, sta if necessary)
* to make it used, free old key. On failure, also free the new key.