1STRUCT IEEE80211_KEY(9) Advanced driver interface STRUCT IEEE80211_KEY(9)
2
3
4
6 struct_ieee80211_key_conf - key information
7
9 struct ieee80211_key_conf {
10 void * drv_priv;
11 atomic64_t tx_pn;
12 u32 cipher;
13 u8 icv_len;
14 u8 iv_len;
15 u8 hw_key_idx;
16 u8 flags;
17 s8 keyidx;
18 u8 keylen;
19 u8 key[0];
20 };
21
23 drv_priv
24 pointer for driver use
25
26 tx_pn
27 PN used for TX on non-TKIP keys, may be used by the driver as well
28 if it needs to do software PN assignment by itself (e.g. due to
29 TSO)
30
31 cipher
32 The key´s cipher suite selector.
33
34 icv_len
35 The ICV length for this key type
36
37 iv_len
38 The IV length for this key type
39
40 hw_key_idx
41 To be set by the driver, this is the key index the driver wants to
42 be given when a frame is transmitted and needs to be encrypted in
43 hardware.
44
45 flags
46 key flags, see enum ieee80211_key_flags.
47
48 keyidx
49 the key index (0-3)
50
51 keylen
52 key material length
53
54 key[0]
55 key material. For ALG_TKIP the key is encoded as a 256-bit (32
56 byte)
57
59 This key information is given by mac80211 to the driver by the set_key
60 callback in struct ieee80211_ops.
61
63 - Temporal Encryption Key (128 bits) - Temporal Authenticator Tx MIC
64 Key (64 bits) - Temporal Authenticator Rx MIC Key (64 bits)
65
67 Johannes Berg <johannes@sipsolutions.net>
68 Author.
69
71Kernel Hackers Manual 2.6. June 2019 STRUCT IEEE80211_KEY(9)