Please ignore, I edited the wrong files.

Go Monday!

Ben

On 4/15/19 10:05 AM, [email protected] wrote:
From: Ben Greear <[email protected]>

Report when sta becomes associated.

Signed-off-by: Ben Greear <[email protected]>
---
  net/mac80211/sta_info.c | 3 +++
  net/mac80211/sta_info.h | 2 ++
  2 files changed, 5 insertions(+)

diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index 044120c45950..6dab7abe1603 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -1980,6 +1980,7 @@ int sta_info_move_state(struct sta_info *sta,
                break;
        case IEEE80211_STA_AUTHORIZED:
                if (sta->sta_state == IEEE80211_STA_ASSOC) {
+                       sta->auth_at_ms = ktime_to_ms(ktime_get_real());
                        ieee80211_vif_inc_num_mcast(sta->sdata);
                        set_bit(WLAN_STA_AUTHORIZED, &sta->_flags);
                        ieee80211_check_fast_xmit(sta);
@@ -2197,6 +2198,7 @@ void sta_set_sinfo(struct sta_info *sta, struct 
station_info *sinfo,
                         BIT_ULL(NL80211_STA_INFO_STA_FLAGS) |
                         BIT_ULL(NL80211_STA_INFO_BSS_PARAM) |
                         BIT_ULL(NL80211_STA_INFO_CONNECTED_TIME) |
+                        BIT_ULL(NL80211_STA_INFO_AUTH_AT_MS) |
                         BIT_ULL(NL80211_STA_INFO_RX_DROP_MISC);
if (sdata->vif.type == NL80211_IFTYPE_STATION) {
@@ -2205,6 +2207,7 @@ void sta_set_sinfo(struct sta_info *sta, struct 
station_info *sinfo,
        }
sinfo->connected_time = ktime_get_seconds() - sta->last_connected;
+       sinfo->auth_at_ms = sta->auth_at_ms;
        sinfo->inactive_time =
                jiffies_to_msecs(jiffies - ieee80211_sta_last_active(sta));
diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h
index c5d557032be5..97777978b8f5 100644
--- a/net/mac80211/sta_info.h
+++ b/net/mac80211/sta_info.h
@@ -455,6 +455,7 @@ struct ieee80211_sta_rx_stats {
   *    the station when it leaves powersave or polls for frames
   * @driver_buffered_tids: bitmap of TIDs the driver has data buffered on
   * @txq_buffered_tids: bitmap of TIDs that mac80211 has txq data buffered on
+ * @auth_at_ms: time (in ms) of last assoc -> auth transition
   * @last_connected: time (in seconds) when a station got connected
   * @last_seq_ctrl: last received seq/frag number from this STA (per TID
   *    plus one for non-QoS frames)
@@ -531,6 +532,7 @@ struct sta_info {
        unsigned long driver_buffered_tids;
        unsigned long txq_buffered_tids;
+ unsigned long auth_at_ms;
        long last_connected;
/* Updated from RX path only, no locking requirements */



--
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com

Reply via email to