aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/sta_info.h
diff options
context:
space:
mode:
authorMax Stepanov <Max.Stepanov@intel.com>2013-03-24 08:23:27 -0400
committerJohannes Berg <johannes.berg@intel.com>2013-11-25 14:50:52 -0500
commit2475b1cc0d5283a33144b79f3eba6d401d873962 (patch)
tree5933a46b04abf495b18877ce710f84a4acda2841 /net/mac80211/sta_info.h
parent6bc54fbcee6836f08355fcca76549c22ad2c2940 (diff)
mac80211: add generic cipher scheme support
This adds generic cipher scheme support to mac80211, such schemes are fully under control by the driver. On hw registration drivers may specify additional HW ciphers with a scheme how these ciphers have to be handled by mac80211 TX/RR. A cipher scheme specifies a cipher suite value, a size of the security header to be added to or stripped from frames and how the PN is to be verified on RX. Signed-off-by: Max Stepanov <Max.Stepanov@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/sta_info.h')
-rw-r--r--net/mac80211/sta_info.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h
index 3ef06a26b9cb..6b0d6c2dcba7 100644
--- a/net/mac80211/sta_info.h
+++ b/net/mac80211/sta_info.h
@@ -231,8 +231,10 @@ struct sta_ampdu_mlme {
231 * @hnext: hash table linked list pointer 231 * @hnext: hash table linked list pointer
232 * @local: pointer to the global information 232 * @local: pointer to the global information
233 * @sdata: virtual interface this station belongs to 233 * @sdata: virtual interface this station belongs to
234 * @ptk: peer key negotiated with this station, if any 234 * @ptk: peer keys negotiated with this station, if any
235 * @ptk_idx: last installed peer key index
235 * @gtk: group keys negotiated with this station, if any 236 * @gtk: group keys negotiated with this station, if any
237 * @gtk_idx: last installed group key index
236 * @rate_ctrl: rate control algorithm reference 238 * @rate_ctrl: rate control algorithm reference
237 * @rate_ctrl_priv: rate control private per-STA pointer 239 * @rate_ctrl_priv: rate control private per-STA pointer
238 * @last_tx_rate: rate used for last transmit, to report to userspace as 240 * @last_tx_rate: rate used for last transmit, to report to userspace as
@@ -303,6 +305,7 @@ struct sta_ampdu_mlme {
303 * @chain_signal_avg: signal average (per chain) 305 * @chain_signal_avg: signal average (per chain)
304 * @known_smps_mode: the smps_mode the client thinks we are in. Relevant for 306 * @known_smps_mode: the smps_mode the client thinks we are in. Relevant for
305 * AP only. 307 * AP only.
308 * @cipher_scheme: optional cipher scheme for this station
306 */ 309 */
307struct sta_info { 310struct sta_info {
308 /* General information, mostly static */ 311 /* General information, mostly static */
@@ -312,7 +315,9 @@ struct sta_info {
312 struct ieee80211_local *local; 315 struct ieee80211_local *local;
313 struct ieee80211_sub_if_data *sdata; 316 struct ieee80211_sub_if_data *sdata;
314 struct ieee80211_key __rcu *gtk[NUM_DEFAULT_KEYS + NUM_DEFAULT_MGMT_KEYS]; 317 struct ieee80211_key __rcu *gtk[NUM_DEFAULT_KEYS + NUM_DEFAULT_MGMT_KEYS];
315 struct ieee80211_key __rcu *ptk; 318 struct ieee80211_key __rcu *ptk[NUM_DEFAULT_KEYS];
319 u8 gtk_idx;
320 u8 ptk_idx;
316 struct rate_control_ref *rate_ctrl; 321 struct rate_control_ref *rate_ctrl;
317 void *rate_ctrl_priv; 322 void *rate_ctrl_priv;
318 spinlock_t lock; 323 spinlock_t lock;
@@ -414,6 +419,7 @@ struct sta_info {
414 unsigned int beacon_loss_count; 419 unsigned int beacon_loss_count;
415 420
416 enum ieee80211_smps_mode known_smps_mode; 421 enum ieee80211_smps_mode known_smps_mode;
422 const struct ieee80211_cipher_scheme *cipher_scheme;
417 423
418 /* keep last! */ 424 /* keep last! */
419 struct ieee80211_sta sta; 425 struct ieee80211_sta sta;