linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] wireless:  Support auth-at-ms timer in sta-info
@ 2019-04-12 21:37 greearb
  2019-04-12 21:37 ` [PATCH 2/2] mac80211: add auth-at-ms support greearb
  2019-04-15 11:15 ` [PATCH 1/2] wireless: Support auth-at-ms timer in sta-info Johannes Berg
  0 siblings, 2 replies; 5+ messages in thread
From: greearb @ 2019-04-12 21:37 UTC (permalink / raw)
  To: linux-wireless; +Cc: Ben Greear

From: Ben Greear <greearb@candelatech.com>

Report time stamp of when sta became authenticated.

Signed-off-by: Ben Greear <greearb@candelatech.com>
---
 include/net/cfg80211.h       | 2 ++
 include/uapi/linux/nl80211.h | 2 ++
 net/wireless/nl80211.c       | 1 +
 3 files changed, 5 insertions(+)

diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index f49eb1464b7a..430501c09c01 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1268,6 +1268,7 @@ struct cfg80211_tid_stats {
  *	indicate the relevant values in this struct for them
  * @connected_time: time(in secs) since a station is last connected
  * @inactive_time: time since last station activity (tx/rx) in milliseconds
+ * @auth_at_ms: time in ms of the last assoc -> auth transition.
  * @rx_bytes: bytes (size of MPDUs) received from this station
  * @tx_bytes: bytes (size of MPDUs) transmitted to this station
  * @llid: mesh local link id
@@ -1324,6 +1325,7 @@ struct station_info {
 	u64 filled;
 	u32 connected_time;
 	u32 inactive_time;
+	u64 auth_at_ms;
 	u64 rx_bytes;
 	u64 tx_bytes;
 	u16 llid;
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index 0f03cfcda965..8d0b7a88877c 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -3079,6 +3079,7 @@ enum nl80211_sta_bss_param {
  * @NL80211_STA_INFO_TX_DURATION: aggregate PPDU duration for all frames
  *	sent to the station (u64, usec)
  * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
+ * @NL80211_STA_INFO_AUTH_AT_MS: Timestamp of last assoc -> auth transition, in ms
  * @__NL80211_STA_INFO_AFTER_LAST: internal
  * @NL80211_STA_INFO_MAX: highest possible station info attribute
  */
@@ -3124,6 +3125,7 @@ enum nl80211_sta_info {
 	NL80211_STA_INFO_CONNECTED_TO_GATE,
 	NL80211_STA_INFO_TX_DURATION,
 	NL80211_STA_INFO_AIRTIME_WEIGHT,
+	NL80211_STA_INFO_AUTH_AT_MS,
 
 	/* keep last */
 	__NL80211_STA_INFO_AFTER_LAST,
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index bcb432815c64..74be48c1ae02 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -4763,6 +4763,7 @@ static int nl80211_send_station(struct sk_buff *msg, u32 cmd, u32 portid,
 
 	PUT_SINFO(CONNECTED_TIME, connected_time, u32);
 	PUT_SINFO(INACTIVE_TIME, inactive_time, u32);
+	PUT_SINFO_U64(AUTH_AT_MS, auth_at_ms);
 
 	if (sinfo->filled & (BIT_ULL(NL80211_STA_INFO_RX_BYTES) |
 			     BIT_ULL(NL80211_STA_INFO_RX_BYTES64)) &&
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] mac80211:  add auth-at-ms support.
  2019-04-12 21:37 [PATCH 1/2] wireless: Support auth-at-ms timer in sta-info greearb
@ 2019-04-12 21:37 ` greearb
  2019-04-15 11:15 ` [PATCH 1/2] wireless: Support auth-at-ms timer in sta-info Johannes Berg
  1 sibling, 0 replies; 5+ messages in thread
From: greearb @ 2019-04-12 21:37 UTC (permalink / raw)
  To: linux-wireless; +Cc: Ben Greear

From: Ben Greear <greearb@candelatech.com>

Report when sta becomes authenticated.

Signed-off-by: Ben Greear <greearb@candelatech.com>
---
 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 */
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] wireless:  Support auth-at-ms timer in sta-info
  2019-04-12 21:37 [PATCH 1/2] wireless: Support auth-at-ms timer in sta-info greearb
  2019-04-12 21:37 ` [PATCH 2/2] mac80211: add auth-at-ms support greearb
@ 2019-04-15 11:15 ` Johannes Berg
  2019-04-15 16:32   ` Ben Greear
  1 sibling, 1 reply; 5+ messages in thread
From: Johannes Berg @ 2019-04-15 11:15 UTC (permalink / raw)
  To: greearb, linux-wireless

On Fri, 2019-04-12 at 14:37 -0700, greearb@candelatech.com wrote:
> From: Ben Greear <greearb@candelatech.com>
> 
> Report time stamp of when sta became authenticated.

You didn't actually implement this ;-)

Did you mean associated?

> + * @auth_at_ms: time in ms of the last assoc -> auth transition.

There's commonly not really such a transition?

johannes


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] wireless: Support auth-at-ms timer in sta-info
  2019-04-15 11:15 ` [PATCH 1/2] wireless: Support auth-at-ms timer in sta-info Johannes Berg
@ 2019-04-15 16:32   ` Ben Greear
  2019-04-15 17:03     ` Johannes Berg
  0 siblings, 1 reply; 5+ messages in thread
From: Ben Greear @ 2019-04-15 16:32 UTC (permalink / raw)
  To: Johannes Berg, linux-wireless

On 4/15/19 4:15 AM, Johannes Berg wrote:
> On Fri, 2019-04-12 at 14:37 -0700, greearb@candelatech.com wrote:
>> From: Ben Greear <greearb@candelatech.com>
>>
>> Report time stamp of when sta became authenticated.
> 
> You didn't actually implement this ;-)
> 
> Did you mean associated?
> 
>> + * @auth_at_ms: time in ms of the last assoc -> auth transition.
> 
> There's commonly not really such a transition?

Oh, I guess AUTHORIZED is only when doing .1x authentication?  My test case
was (luckly?) doing that, so I didn't notice the bug.

I'll change to setting the timer in the ASSOC state instead.

Thanks,
Ben

-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] wireless: Support auth-at-ms timer in sta-info
  2019-04-15 16:32   ` Ben Greear
@ 2019-04-15 17:03     ` Johannes Berg
  0 siblings, 0 replies; 5+ messages in thread
From: Johannes Berg @ 2019-04-15 17:03 UTC (permalink / raw)
  To: Ben Greear, linux-wireless

On Mon, 2019-04-15 at 09:32 -0700, Ben Greear wrote:
> On 4/15/19 4:15 AM, Johannes Berg wrote:
> > On Fri, 2019-04-12 at 14:37 -0700, greearb@candelatech.com wrote:
> > > From: Ben Greear <greearb@candelatech.com>
> > > 
> > > Report time stamp of when sta became authenticated.
> > 
> > You didn't actually implement this ;-)
> > 
> > Did you mean associated?
> > 
> > > + * @auth_at_ms: time in ms of the last assoc -> auth transition.
> > 
> > There's commonly not really such a transition?
> 
> Oh, I guess AUTHORIZED is only when doing .1x authentication?  My test case
> was (luckly?) doing that, so I didn't notice the bug.

Oh, you meant *authorized*... Most of the code uses "auth" ==
"authenticated" :-)

johannes


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-04-15 17:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-12 21:37 [PATCH 1/2] wireless: Support auth-at-ms timer in sta-info greearb
2019-04-12 21:37 ` [PATCH 2/2] mac80211: add auth-at-ms support greearb
2019-04-15 11:15 ` [PATCH 1/2] wireless: Support auth-at-ms timer in sta-info Johannes Berg
2019-04-15 16:32   ` Ben Greear
2019-04-15 17:03     ` Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).