Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp908894ybl; Fri, 16 Aug 2019 06:04:58 -0700 (PDT) X-Google-Smtp-Source: APXvYqwZjsBS9Z92Rj6xN5/ynBJxN05ffYkZ66nNlR+ssOcms7QHZBFpB2nLP8MKEP9IjEPnKN0M X-Received: by 2002:a62:cec4:: with SMTP id y187mr10605014pfg.84.1565960698561; Fri, 16 Aug 2019 06:04:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565960698; cv=none; d=google.com; s=arc-20160816; b=Ggpc1t6YOx8c8t0y08H07LBBYC7KKXHRhNHE94E3QlinzazxpiEgE5Zio6l7kVGCqR dFg40foM28xc0p8h+Y3AOxHraSlXTXxVqgSGAaEwNoJH3kwrqD03AG26O34sSnLF5KPv M6U7YzLI5NJE0/Xdwh6aaCooBE7LTXRhoMPQn7iAmYZd2FHhRug+1o+Dvf0niwIqzIN5 PGRniJpyNUaSm5cvPnzSwTakJ1E2g4FTNim5qrdJ77YiaXyJQjzYFK37cmLcNJbO2PA8 BVyKVQlppY/9k435V0seMBZvQ75m5H0oleL5KhCeFcbiYXAGTIlu2lXdzub1SNv4FSd7 CUow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:in-reply-to :mime-version:user-agent:date:message-id:from:cc:references:to :subject:dkim-signature:dkim-filter; bh=KAjfeVuKr/4AvjQCdpOFJCBjjo5BVMDPjlS/Fcvovqk=; b=ZbgmuizSNyMNvb3U08n33Q/ejJPuwJdWReMgc3zo/Lqe5dS3iklhn6YHemAJh3IxF9 U0BiNUQbdoprILy5+FZ+N8XdsVja20RTBqqB1Cj5mqwww8tFvQqDjpulvpKORZKXbWtF ZxzdtY83QMgyp8uaH0PHwilF5OjZHZzbi0aYW/pC/Pi4Wv6xyvlFyhs8N8ozdLhjVXFB A1/ljruyu+izE4oYY24GpbZXXVq+nesQAaEkq9/zJL0IBSXk1mVUKa0wwFV/RhuCUxAn Hq4hU3wR+oBsLSYESbrgrZz2LowHbT3mVmPC5cpeqyiE+7V89CAduNC8WlaJ5aiYgE0R vqFA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@candelatech.com header.s=default header.b=n3vxXvv3; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=candelatech.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t1si2992166pjv.5.2019.08.16.06.04.37; Fri, 16 Aug 2019 06:04:58 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@candelatech.com header.s=default header.b=n3vxXvv3; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=candelatech.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726541AbfHPNE2 (ORCPT + 99 others); Fri, 16 Aug 2019 09:04:28 -0400 Received: from mail2.candelatech.com ([208.74.158.173]:48060 "EHLO mail3.candelatech.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726032AbfHPNE2 (ORCPT ); Fri, 16 Aug 2019 09:04:28 -0400 Received: from [192.168.1.47] (unknown [50.34.200.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail3.candelatech.com (Postfix) with ESMTPSA id DD83213C2B8; Fri, 16 Aug 2019 06:04:27 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 mail3.candelatech.com DD83213C2B8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=candelatech.com; s=default; t=1565960668; bh=YUeGXcuvmlmmbdu+FPhhkiVI63heFaQq9wdiG4/bs3Q=; h=Subject:To:References:Cc:From:Date:In-Reply-To:From; b=n3vxXvv3lbNdUD9V2yUAlnbgZN6O8yR9XNjVzTzwsBenI94fzcHx6TOVMIRp6tHSE s8M4qvn6doLxHadK14LDxNjVZuCqH6xYsWRs9gbb5CU4CTJjNMBXiuat0iPCdYa34l k1AejRsE4s6TTM1oZocx1/dm2wzDBFA8s6oaM8KQ= Subject: Re: [PATCH 2/2] mac80211: add assoc-at support. To: Sebastian Gottschall , linux-wireless@vger.kernel.org References: <20190809174656.20872-1-greearb@candelatech.com> <20190809174656.20872-2-greearb@candelatech.com> <0fc19972-385e-084e-144d-d5bf41a21ca5@newmedia-net.de> Cc: johannes@sipsolutions.net From: Ben Greear Message-ID: <538cc1cd-7e72-d5d1-431d-332378413d99@candelatech.com> Date: Fri, 16 Aug 2019 06:04:26 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <0fc19972-385e-084e-144d-d5bf41a21ca5@newmedia-net.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On 08/15/2019 09:09 PM, Sebastian Gottschall wrote: > is this feature neccessary? we already have the information of the assoc duration time. so its easy to calculate the assoc timestamp using the current time without any patch > do i miss something here? The current reported timer is 1-sec resolution, and I need better precision so I can know exactly how long a station was off the air while trying to roam, for instance. Thanks, Ben > > Am 09.08.2019 um 19:46 schrieb greearb@candelatech.com: >> From: Ben Greear >> >> Report timestamp for when sta becomes associated. >> >> Signed-off-by: Ben Greear >> --- >> 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 cd88c8872372..f0820f058b5f 100644 >> --- a/net/mac80211/sta_info.c >> +++ b/net/mac80211/sta_info.c >> @@ -1995,6 +1995,7 @@ int sta_info_move_state(struct sta_info *sta, >> case IEEE80211_STA_ASSOC: >> if (sta->sta_state == IEEE80211_STA_AUTH) { >> set_bit(WLAN_STA_ASSOC, &sta->_flags); >> + sta->assoc_at_ms = ktime_to_ms(ktime_get_real()); >> ieee80211_recalc_min_chandef(sta->sdata); >> if (!sta->sta.support_p2p_ps) >> ieee80211_recalc_p2p_go_ps_allowed(sta->sdata); >> @@ -2224,6 +2225,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_ASSOC_AT_MS) | >> BIT_ULL(NL80211_STA_INFO_RX_DROP_MISC); >> if (sdata->vif.type == NL80211_IFTYPE_STATION) { >> @@ -2232,6 +2234,7 @@ void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo, >> } >> sinfo->connected_time = ktime_get_seconds() - sta->last_connected; >> + sinfo->assoc_at_ms = sta->assoc_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 bb02d5fac7ba..906b11acb0e8 100644 >> --- a/net/mac80211/sta_info.h >> +++ b/net/mac80211/sta_info.h >> @@ -468,6 +468,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 >> + * @assoc_at_ms: time (in ms) of last association >> * @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) >> @@ -565,6 +566,7 @@ struct sta_info { >> unsigned long driver_buffered_tids; >> unsigned long txq_buffered_tids; >> + unsigned long assoc_at_ms; >> long last_connected; >> /* Updated from RX path only, no locking requirements */ > -- Ben Greear Candela Technologies Inc http://www.candelatech.com