From owner-svn-src-all@freebsd.org Fri Sep 9 04:47:49 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B51FABD1ED4; Fri, 9 Sep 2016 04:47:49 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6E428F46; Fri, 9 Sep 2016 04:47:49 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u894lmZ5098439; Fri, 9 Sep 2016 04:47:48 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u894lmsw098437; Fri, 9 Sep 2016 04:47:48 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201609090447.u894lmsw098437@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Fri, 9 Sep 2016 04:47:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r305638 - head/sys/net80211 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Sep 2016 04:47:49 -0000 Author: adrian Date: Fri Sep 9 04:47:48 2016 New Revision: 305638 URL: https://svnweb.freebsd.org/changeset/base/305638 Log: [net80211] add in ToA/ToD based location mbuf tags for some experimenting. Modified: head/sys/net80211/ieee80211_freebsd.c head/sys/net80211/ieee80211_freebsd.h Modified: head/sys/net80211/ieee80211_freebsd.c ============================================================================== --- head/sys/net80211/ieee80211_freebsd.c Fri Sep 9 04:45:25 2016 (r305637) +++ head/sys/net80211/ieee80211_freebsd.c Fri Sep 9 04:47:48 2016 (r305638) @@ -530,6 +530,42 @@ ieee80211_get_rx_params(struct mbuf *m, } /* + * Add TOA parameters to the given mbuf. + */ +int +ieee80211_add_toa_params(struct mbuf *m, const struct ieee80211_toa_params *p) +{ + struct m_tag *mtag; + struct ieee80211_toa_params *rp; + + mtag = m_tag_alloc(MTAG_ABI_NET80211, NET80211_TAG_TOA_PARAMS, + sizeof(struct ieee80211_toa_params), M_NOWAIT); + if (mtag == NULL) + return (0); + + rp = (struct ieee80211_toa_params *)(mtag + 1); + memcpy(rp, p, sizeof(*rp)); + m_tag_prepend(m, mtag); + return (1); +} + +int +ieee80211_get_toa_params(struct mbuf *m, struct ieee80211_toa_params *p) +{ + struct m_tag *mtag; + struct ieee80211_toa_params *rp; + + mtag = m_tag_locate(m, MTAG_ABI_NET80211, NET80211_TAG_TOA_PARAMS, + NULL); + if (mtag == NULL) + return (0); + rp = (struct ieee80211_toa_params *)(mtag + 1); + if (p != NULL) + memcpy(p, rp, sizeof(*p)); + return (1); +} + +/* * Transmit a frame to the parent interface. */ int Modified: head/sys/net80211/ieee80211_freebsd.h ============================================================================== --- head/sys/net80211/ieee80211_freebsd.h Fri Sep 9 04:45:25 2016 (r305637) +++ head/sys/net80211/ieee80211_freebsd.h Fri Sep 9 04:47:48 2016 (r305638) @@ -331,6 +331,8 @@ void ieee80211_process_callback(struct i #define NET80211_TAG_RECV_PARAMS 2 +#define NET80211_TAG_TOA_PARAMS 3 + struct ieee80211com; int ieee80211_parent_xmitpkt(struct ieee80211com *, struct mbuf *); int ieee80211_vap_xmitpkt(struct ieee80211vap *, struct mbuf *); @@ -656,6 +658,14 @@ int ieee80211_add_rx_params(struct mbuf const struct ieee80211_rx_stats *rxs); int ieee80211_get_rx_params(struct mbuf *m, struct ieee80211_rx_stats *rxs); + +struct ieee80211_toa_params { + int request_id; +}; +int ieee80211_add_toa_params(struct mbuf *m, + const struct ieee80211_toa_params *p); +int ieee80211_get_toa_params(struct mbuf *m, + struct ieee80211_toa_params *p); #endif /* _KERNEL */ /*