diff options
author | Max Stepanov <Max.Stepanov@intel.com> | 2013-03-24 08:23:27 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-11-25 14:50:52 -0500 |
commit | 2475b1cc0d5283a33144b79f3eba6d401d873962 (patch) | |
tree | 5933a46b04abf495b18877ce710f84a4acda2841 /net/mac80211/ieee80211_i.h | |
parent | 6bc54fbcee6836f08355fcca76549c22ad2c2940 (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/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 29dc505be125..16f5ba4a3252 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -728,6 +728,7 @@ struct ieee80211_sub_if_data { | |||
728 | u16 sequence_number; | 728 | u16 sequence_number; |
729 | __be16 control_port_protocol; | 729 | __be16 control_port_protocol; |
730 | bool control_port_no_encrypt; | 730 | bool control_port_no_encrypt; |
731 | int encrypt_headroom; | ||
731 | 732 | ||
732 | struct ieee80211_tx_queue_params tx_conf[IEEE80211_NUM_ACS]; | 733 | struct ieee80211_tx_queue_params tx_conf[IEEE80211_NUM_ACS]; |
733 | 734 | ||
@@ -1749,6 +1750,15 @@ void ieee80211_dfs_radar_detected_work(struct work_struct *work); | |||
1749 | int ieee80211_send_action_csa(struct ieee80211_sub_if_data *sdata, | 1750 | int ieee80211_send_action_csa(struct ieee80211_sub_if_data *sdata, |
1750 | struct cfg80211_csa_settings *csa_settings); | 1751 | struct cfg80211_csa_settings *csa_settings); |
1751 | 1752 | ||
1753 | bool ieee80211_cs_valid(const struct ieee80211_cipher_scheme *cs); | ||
1754 | bool ieee80211_cs_list_valid(const struct ieee80211_cipher_scheme *cs, int n); | ||
1755 | const struct ieee80211_cipher_scheme * | ||
1756 | ieee80211_cs_get(struct ieee80211_local *local, u32 cipher, | ||
1757 | enum nl80211_iftype iftype); | ||
1758 | int ieee80211_cs_headroom(struct ieee80211_local *local, | ||
1759 | struct cfg80211_crypto_settings *crypto, | ||
1760 | enum nl80211_iftype iftype); | ||
1761 | |||
1752 | #ifdef CONFIG_MAC80211_NOINLINE | 1762 | #ifdef CONFIG_MAC80211_NOINLINE |
1753 | #define debug_noinline noinline | 1763 | #define debug_noinline noinline |
1754 | #else | 1764 | #else |