mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-05 22:12:16 +00:00
mac80211: clean up set_key callback
The set_key callback now seems rather odd, passing a MAC address instead of a station struct, and a local address instead of a vif struct. Change that. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Bob Copeland <me@bobcopeland.com> [ath5k] Acked-by: Ivo van Doorn <ivdoorn@gmail.com> [rt2x00] Acked-by: Christian Lamparter <chunkeey@web.de> [p54] Tested-by: Kalle Valo <kalle.valo@nokia.com> [iwl3945] Tested-by: Samuel Ortiz <samuel@sortiz.org> [iwl3945] Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
b3093664c9
commit
dc822b5db4
11 changed files with 89 additions and 83 deletions
|
@ -715,8 +715,8 @@ enum ieee80211_key_flags {
|
|||
* - Temporal Encryption Key (128 bits)
|
||||
* - Temporal Authenticator Tx MIC Key (64 bits)
|
||||
* - Temporal Authenticator Rx MIC Key (64 bits)
|
||||
* @icv_len: FIXME
|
||||
* @iv_len: FIXME
|
||||
* @icv_len: The ICV length for this key type
|
||||
* @iv_len: The IV length for this key type
|
||||
*/
|
||||
struct ieee80211_key_conf {
|
||||
enum ieee80211_key_alg alg;
|
||||
|
@ -1019,16 +1019,12 @@ ieee80211_get_alt_retry_rate(const struct ieee80211_hw *hw,
|
|||
*
|
||||
* The set_key() callback in the &struct ieee80211_ops for a given
|
||||
* device is called to enable hardware acceleration of encryption and
|
||||
* decryption. The callback takes an @address parameter that will be
|
||||
* the broadcast address for default keys, the other station's hardware
|
||||
* address for individual keys or the zero address for keys that will
|
||||
* be used only for transmission.
|
||||
* decryption. The callback takes a @sta parameter that will be NULL
|
||||
* for default keys or keys used for transmission only, or point to
|
||||
* the station information for the peer for individual keys.
|
||||
* Multiple transmission keys with the same key index may be used when
|
||||
* VLANs are configured for an access point.
|
||||
*
|
||||
* The @local_address parameter will always be set to our own address,
|
||||
* this is only relevant if you support multiple local addresses.
|
||||
*
|
||||
* When transmitting, the TX control data will use the @hw_key_idx
|
||||
* selected by the driver by modifying the &struct ieee80211_key_conf
|
||||
* pointed to by the @key parameter to the set_key() function.
|
||||
|
@ -1233,8 +1229,8 @@ enum ieee80211_ampdu_mlme_action {
|
|||
*
|
||||
* @set_key: See the section "Hardware crypto acceleration"
|
||||
* This callback can sleep, and is only called between add_interface
|
||||
* and remove_interface calls, i.e. while the interface with the
|
||||
* given local_address is enabled.
|
||||
* and remove_interface calls, i.e. while the given virtual interface
|
||||
* is enabled.
|
||||
*
|
||||
* @update_tkip_key: See the section "Hardware crypto acceleration"
|
||||
* This callback will be called in the context of Rx. Called for drivers
|
||||
|
@ -1311,7 +1307,7 @@ struct ieee80211_ops {
|
|||
int (*set_tim)(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
|
||||
bool set);
|
||||
int (*set_key)(struct ieee80211_hw *hw, enum set_key_cmd cmd,
|
||||
const u8 *local_address, const u8 *address,
|
||||
struct ieee80211_vif *vif, struct ieee80211_sta *sta,
|
||||
struct ieee80211_key_conf *key);
|
||||
void (*update_tkip_key)(struct ieee80211_hw *hw,
|
||||
struct ieee80211_key_conf *conf, const u8 *address,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue