diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2008-12-29 06:55:09 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-01-29 15:59:42 -0500 |
commit | dc822b5db479dc0178d5c04cbb656dad0b6564fb (patch) | |
tree | f06d09fb4d70830ce1489f4589cb03a491833955 /include/net/mac80211.h | |
parent | b3093664c931aa06fc50da42e25b3b6dc307a915 (diff) |
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>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index ffcbd12775a4..9215b1ec90ec 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -715,8 +715,8 @@ enum ieee80211_key_flags { | |||
715 | * - Temporal Encryption Key (128 bits) | 715 | * - Temporal Encryption Key (128 bits) |
716 | * - Temporal Authenticator Tx MIC Key (64 bits) | 716 | * - Temporal Authenticator Tx MIC Key (64 bits) |
717 | * - Temporal Authenticator Rx MIC Key (64 bits) | 717 | * - Temporal Authenticator Rx MIC Key (64 bits) |
718 | * @icv_len: FIXME | 718 | * @icv_len: The ICV length for this key type |
719 | * @iv_len: FIXME | 719 | * @iv_len: The IV length for this key type |
720 | */ | 720 | */ |
721 | struct ieee80211_key_conf { | 721 | struct ieee80211_key_conf { |
722 | enum ieee80211_key_alg alg; | 722 | enum ieee80211_key_alg alg; |
@@ -1019,16 +1019,12 @@ ieee80211_get_alt_retry_rate(const struct ieee80211_hw *hw, | |||
1019 | * | 1019 | * |
1020 | * The set_key() callback in the &struct ieee80211_ops for a given | 1020 | * The set_key() callback in the &struct ieee80211_ops for a given |
1021 | * device is called to enable hardware acceleration of encryption and | 1021 | * device is called to enable hardware acceleration of encryption and |
1022 | * decryption. The callback takes an @address parameter that will be | 1022 | * decryption. The callback takes a @sta parameter that will be NULL |
1023 | * the broadcast address for default keys, the other station's hardware | 1023 | * for default keys or keys used for transmission only, or point to |
1024 | * address for individual keys or the zero address for keys that will | 1024 | * the station information for the peer for individual keys. |
1025 | * be used only for transmission. | ||
1026 | * Multiple transmission keys with the same key index may be used when | 1025 | * Multiple transmission keys with the same key index may be used when |
1027 | * VLANs are configured for an access point. | 1026 | * VLANs are configured for an access point. |
1028 | * | 1027 | * |
1029 | * The @local_address parameter will always be set to our own address, | ||
1030 | * this is only relevant if you support multiple local addresses. | ||
1031 | * | ||
1032 | * When transmitting, the TX control data will use the @hw_key_idx | 1028 | * When transmitting, the TX control data will use the @hw_key_idx |
1033 | * selected by the driver by modifying the &struct ieee80211_key_conf | 1029 | * selected by the driver by modifying the &struct ieee80211_key_conf |
1034 | * pointed to by the @key parameter to the set_key() function. | 1030 | * pointed to by the @key parameter to the set_key() function. |
@@ -1233,8 +1229,8 @@ enum ieee80211_ampdu_mlme_action { | |||
1233 | * | 1229 | * |
1234 | * @set_key: See the section "Hardware crypto acceleration" | 1230 | * @set_key: See the section "Hardware crypto acceleration" |
1235 | * This callback can sleep, and is only called between add_interface | 1231 | * This callback can sleep, and is only called between add_interface |
1236 | * and remove_interface calls, i.e. while the interface with the | 1232 | * and remove_interface calls, i.e. while the given virtual interface |
1237 | * given local_address is enabled. | 1233 | * is enabled. |
1238 | * | 1234 | * |
1239 | * @update_tkip_key: See the section "Hardware crypto acceleration" | 1235 | * @update_tkip_key: See the section "Hardware crypto acceleration" |
1240 | * This callback will be called in the context of Rx. Called for drivers | 1236 | * This callback will be called in the context of Rx. Called for drivers |
@@ -1311,7 +1307,7 @@ struct ieee80211_ops { | |||
1311 | int (*set_tim)(struct ieee80211_hw *hw, struct ieee80211_sta *sta, | 1307 | int (*set_tim)(struct ieee80211_hw *hw, struct ieee80211_sta *sta, |
1312 | bool set); | 1308 | bool set); |
1313 | int (*set_key)(struct ieee80211_hw *hw, enum set_key_cmd cmd, | 1309 | int (*set_key)(struct ieee80211_hw *hw, enum set_key_cmd cmd, |
1314 | const u8 *local_address, const u8 *address, | 1310 | struct ieee80211_vif *vif, struct ieee80211_sta *sta, |
1315 | struct ieee80211_key_conf *key); | 1311 | struct ieee80211_key_conf *key); |
1316 | void (*update_tkip_key)(struct ieee80211_hw *hw, | 1312 | void (*update_tkip_key)(struct ieee80211_hw *hw, |
1317 | struct ieee80211_key_conf *conf, const u8 *address, | 1313 | struct ieee80211_key_conf *conf, const u8 *address, |