aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
authorRon Rindjunsky <ron.rindjunsky@intel.com>2008-08-08 20:02:19 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-08-22 16:30:00 -0400
commit9859b81eaeb8d48563b5fbd90215c0ae606455a3 (patch)
tree4d4a68d4033801c4a58653634f18eeb8b091aead /net/mac80211/ieee80211_i.h
parent32ddf0718590f410d5f18cb4fcda419f4aeefc57 (diff)
mac80211: add direct probe before association
This patch adds a direct probe request as first step in the association flow if data we have is not up to date. Motivation of this step is to make sure that the bss information we have is correct, since last scan could have been done a while ago, and beacons do not fully answer this need as there are potential differences between them and probe responses (e.g. WMM parameter element) Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index c6de3156930c..8361054fb7cf 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -100,7 +100,7 @@ struct ieee80211_sta_bss {
100 u64 timestamp; 100 u64 timestamp;
101 int beacon_int; 101 int beacon_int;
102 102
103 bool probe_resp; 103 unsigned long last_probe_resp;
104 unsigned long last_update; 104 unsigned long last_update;
105 105
106 /* during assocation, we save an ERP value from a probe response so 106 /* during assocation, we save an ERP value from a probe response so
@@ -294,12 +294,14 @@ struct mesh_config {
294#define IEEE80211_STA_PRIVACY_INVOKED BIT(13) 294#define IEEE80211_STA_PRIVACY_INVOKED BIT(13)
295/* flags for MLME request*/ 295/* flags for MLME request*/
296#define IEEE80211_STA_REQ_SCAN 0 296#define IEEE80211_STA_REQ_SCAN 0
297#define IEEE80211_STA_REQ_AUTH 1 297#define IEEE80211_STA_REQ_DIRECT_PROBE 1
298#define IEEE80211_STA_REQ_RUN 2 298#define IEEE80211_STA_REQ_AUTH 2
299#define IEEE80211_STA_REQ_RUN 3
299 300
300/* flags used for setting mlme state */ 301/* flags used for setting mlme state */
301enum ieee80211_sta_mlme_state { 302enum ieee80211_sta_mlme_state {
302 IEEE80211_STA_MLME_DISABLED, 303 IEEE80211_STA_MLME_DISABLED,
304 IEEE80211_STA_MLME_DIRECT_PROBE,
303 IEEE80211_STA_MLME_AUTHENTICATE, 305 IEEE80211_STA_MLME_AUTHENTICATE,
304 IEEE80211_STA_MLME_ASSOCIATE, 306 IEEE80211_STA_MLME_ASSOCIATE,
305 IEEE80211_STA_MLME_ASSOCIATED, 307 IEEE80211_STA_MLME_ASSOCIATED,
@@ -362,6 +364,7 @@ struct ieee80211_if_sta {
362 struct sk_buff_head skb_queue; 364 struct sk_buff_head skb_queue;
363 365
364 int assoc_scan_tries; /* number of scans done pre-association */ 366 int assoc_scan_tries; /* number of scans done pre-association */
367 int direct_probe_tries; /* retries for direct probes */
365 int auth_tries; /* retries for auth req */ 368 int auth_tries; /* retries for auth req */
366 int assoc_tries; /* retries for assoc req */ 369 int assoc_tries; /* retries for assoc req */
367 370