diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2007-12-18 20:03:31 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 17:59:50 -0500 |
commit | 62da92fb75c346b503bca765fd1337e08771c9fe (patch) | |
tree | 86246464a61297e4df2e593c31b2e2dda325cf5c /include | |
parent | e8cbb4cbeb7642d179b01c35adf036ddb65f3dd0 (diff) |
mac80211: support getting key sequence counters via cfg80211
This implements cfg80211's get_key() to allow retrieving the sequence
counter for a TKIP or CCMP key from userspace. It also cleans up and
documents the associated low-level driver interface.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/mac80211.h | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 5b9e7a262448..a762a75ae62d 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -647,9 +647,6 @@ struct ieee80211_key_conf { | |||
647 | u8 key[0]; | 647 | u8 key[0]; |
648 | }; | 648 | }; |
649 | 649 | ||
650 | #define IEEE80211_SEQ_COUNTER_RX 0 | ||
651 | #define IEEE80211_SEQ_COUNTER_TX 1 | ||
652 | |||
653 | /** | 650 | /** |
654 | * enum set_key_cmd - key command | 651 | * enum set_key_cmd - key command |
655 | * | 652 | * |
@@ -996,9 +993,9 @@ enum ieee80211_erp_change_flags { | |||
996 | * | 993 | * |
997 | * @get_stats: return low-level statistics | 994 | * @get_stats: return low-level statistics |
998 | * | 995 | * |
999 | * @get_sequence_counter: For devices that have internal sequence counters this | 996 | * @get_tkip_seq: If your device implements TKIP encryption in hardware this |
1000 | * callback allows mac80211 to access the current value of a counter. | 997 | * callback should be provided to read the TKIP transmit IVs (both IV32 |
1001 | * This callback seems not well-defined, tell us if you need it. | 998 | * and IV16) for the given key from hardware. |
1002 | * | 999 | * |
1003 | * @set_rts_threshold: Configuration of RTS threshold (if device needs it) | 1000 | * @set_rts_threshold: Configuration of RTS threshold (if device needs it) |
1004 | * | 1001 | * |
@@ -1073,9 +1070,8 @@ struct ieee80211_ops { | |||
1073 | int (*hw_scan)(struct ieee80211_hw *hw, u8 *ssid, size_t len); | 1070 | int (*hw_scan)(struct ieee80211_hw *hw, u8 *ssid, size_t len); |
1074 | int (*get_stats)(struct ieee80211_hw *hw, | 1071 | int (*get_stats)(struct ieee80211_hw *hw, |
1075 | struct ieee80211_low_level_stats *stats); | 1072 | struct ieee80211_low_level_stats *stats); |
1076 | int (*get_sequence_counter)(struct ieee80211_hw *hw, | 1073 | void (*get_tkip_seq)(struct ieee80211_hw *hw, u8 hw_key_idx, |
1077 | u8* addr, u8 keyidx, u8 txrx, | 1074 | u32 *iv32, u16 *iv16); |
1078 | u32* iv32, u16* iv16); | ||
1079 | int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value); | 1075 | int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value); |
1080 | int (*set_frag_threshold)(struct ieee80211_hw *hw, u32 value); | 1076 | int (*set_frag_threshold)(struct ieee80211_hw *hw, u32 value); |
1081 | int (*set_retry_limit)(struct ieee80211_hw *hw, | 1077 | int (*set_retry_limit)(struct ieee80211_hw *hw, |