freebsd-nq/sys/net80211
Adrian Chadd e97796e2b6 [net80211] extend the ieee80211_rx_stats struct to include more information.
There are a variety of more interesting RX statistics that we should
keep track of but we don't.  This is a starting point for adding more
information.

Specifically:

* now the RX rate information and some of the packet status is
  passed up;
* The 32 bit or 64 bit TSF is passed up;
* the PHY mode is passed up;
* the "I'm decap'ed AMSDU!" state is passed up;
* number of RX chains is bumped to 4.

This is all mostly a placeholder for getting the data into the RX status
before we pass it up to net80211 - unfortunately we don't yet enforce
that drivers provide it, nor do we pass the provided info back up the
stack so anyone can use the data.

We're going to need to use some of this data moving forward.
Notably, now that some hardware can do AMSDU decap for us (the intel iwm
driver can do it when we flip it on; the ath10k port I'm doing does
it for us) then we need to pass it up through the stack so the duplicate
RX sequence numbers and crypto/IV details don't cause the packet to
be dropped and/or counted against a replay counter.

It's also the beginning of being able to do more interesting node
accounting in net80211.  Specifically, once drivers start populating
per-packet rate information, AMPDU information, timestamps, etc,
we can start providing histograms of rate-versus-RSSI, account
for receive time spent per node and other such interesting things.

(Note: I'm also hoping to include ranging and RTT information for
future chipset support; and it's likely going to include it in
this kind of fashion.)
2016-10-08 01:12:29 +00:00
..
_ieee80211.h net80211: calculate IEEE80211_MODE_BYTES / IEEE80211_CHAN_BYTES 2016-05-01 20:57:10 +00:00
ieee80211_acl.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_action.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211_action.h
ieee80211_adhoc.c [net80211] don't add IBSS node table entries for neighbors from other SSIDs. 2016-09-21 19:48:07 +00:00
ieee80211_adhoc.h
ieee80211_ageq.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_ageq.h
ieee80211_alq.c
ieee80211_alq.h
ieee80211_amrr.c net80211: ieee80211_ratectl*: switch to reusable KPI 2016-10-02 20:35:55 +00:00
ieee80211_amrr.h
ieee80211_crypto_ccmp.c net80211: add new method for ieee80211_cipher (ic_setiv). 2015-10-03 00:50:13 +00:00
ieee80211_crypto_none.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211_crypto_tkip.c net80211: add new method for ieee80211_cipher (ic_setiv). 2015-10-03 00:50:13 +00:00
ieee80211_crypto_wep.c sys: replace comma with semicolon when pertinent. 2016-08-09 19:42:20 +00:00
ieee80211_crypto.c net80211: drop redundant 3rd parameter from iv_key_set(). 2015-10-03 21:48:27 +00:00
ieee80211_crypto.h net80211: allow to override SWCRYPT/SWMIC bits in the driver 2016-09-15 22:27:00 +00:00
ieee80211_ddb.c net80211: fix LOR/deadlock in ieee80211_ff_node_cleanup(). 2016-06-29 17:25:46 +00:00
ieee80211_dfs.c [net80211] migrate the time_* macros to ieee80211_* namespace. 2016-03-30 00:44:10 +00:00
ieee80211_dfs.h
ieee80211_freebsd.c [net80211] add in ToA/ToD based location mbuf tags for some experimenting. 2016-09-09 04:47:48 +00:00
ieee80211_freebsd.h [net80211] extend the ieee80211_rx_stats struct to include more information. 2016-10-08 01:12:29 +00:00
ieee80211_hostap.c net80211: improve error checking in ieee80211_parse_{wpa,rsn}() 2016-09-13 22:59:38 +00:00
ieee80211_hostap.h
ieee80211_ht.c [net80211] add a HT method to populate HTCAP based on IBSS requirements. 2016-09-17 05:44:57 +00:00
ieee80211_ht.h [net80211] add a HT method to populate HTCAP based on IBSS requirements. 2016-09-17 05:44:57 +00:00
ieee80211_hwmp.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211_input.c [net80211] extend the ieee80211_rx_stats struct to include more information. 2016-10-08 01:12:29 +00:00
ieee80211_input.h net80211: hide subtype mask & shift in function call. 2016-04-20 21:15:55 +00:00
ieee80211_ioctl.c [net80211] correctly lock the ifp before accessing the lladdr. 2016-08-18 01:25:12 +00:00
ieee80211_ioctl.h [net80211] add an ioctl for LDPC configuration. 2016-04-26 01:26:11 +00:00
ieee80211_mesh.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211_mesh.h Migrate the 802.11s locks out into ieee80211_freebsd.h, so they can be 2015-05-26 04:25:11 +00:00
ieee80211_monitor.c Begin plumbing ieee80211_rx_stats through the receive path. 2015-05-25 16:37:41 +00:00
ieee80211_monitor.h
ieee80211_node.c net80211: add one-vap version of ieee80211_iterate_nodes() 2016-10-02 19:39:23 +00:00
ieee80211_node.h net80211: add one-vap version of ieee80211_iterate_nodes() 2016-10-02 19:39:23 +00:00
ieee80211_output.c net80211: discard an injected frame if it is smaller than header length. 2016-06-09 13:42:18 +00:00
ieee80211_phy.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211_phy.h [net80211] rename 11n rate macros into a useful spot 2016-04-05 22:01:56 +00:00
ieee80211_power.c [net80211] migrate the time_* macros to ieee80211_* namespace. 2016-03-30 00:44:10 +00:00
ieee80211_power.h
ieee80211_proto.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
ieee80211_proto.h sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
ieee80211_radiotap.c Remove unused include. 2015-05-25 14:54:10 +00:00
ieee80211_radiotap.h
ieee80211_ratectl_none.c net80211: ieee80211_ratectl*: switch to reusable KPI 2016-10-02 20:35:55 +00:00
ieee80211_ratectl.c [net80211] Begin implementing rate control module stats. 2016-03-16 02:07:04 +00:00
ieee80211_ratectl.h net80211: ieee80211_ratectl*: switch to reusable KPI 2016-10-02 20:35:55 +00:00
ieee80211_regdomain.c ifconfig: set by default FCC regulatory domain for wireless interfaces. 2016-05-26 13:14:08 +00:00
ieee80211_regdomain.h
ieee80211_rssadapt.c net80211: ieee80211_ratectl*: switch to reusable KPI 2016-10-02 20:35:55 +00:00
ieee80211_rssadapt.h
ieee80211_scan_sta.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211_scan_sw.c net80211: do not cancel scan when packet is sent. 2016-09-30 18:43:39 +00:00
ieee80211_scan_sw.h Break out the current 802.11 software scan methods into an indirect table. 2015-06-08 02:35:43 +00:00
ieee80211_scan.c net80211: refresh comments for ieee80211_scan_next() and 2016-04-21 06:19:33 +00:00
ieee80211_scan.h Break out the current 802.11 software scan methods into an indirect table. 2015-06-08 02:35:43 +00:00
ieee80211_sta.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211_sta.h
ieee80211_superg.c net80211: fix LOR/deadlock in ieee80211_ff_node_cleanup(). 2016-06-29 17:25:46 +00:00
ieee80211_superg.h net80211: fix LOR/deadlock in ieee80211_ff_node_cleanup(). 2016-06-29 17:25:46 +00:00
ieee80211_tdma.c net80211: hide subtype mask & shift in function call. 2016-04-20 21:15:55 +00:00
ieee80211_tdma.h Begin plumbing ieee80211_rx_stats through the receive path. 2015-05-25 16:37:41 +00:00
ieee80211_var.h net80211: fix LOR/deadlock in ieee80211_ff_node_cleanup(). 2016-06-29 17:25:46 +00:00
ieee80211_wds.c net80211: drop some unused variables / local macros 2016-05-12 22:17:00 +00:00
ieee80211_wds.h
ieee80211_xauth.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211.h [net80211] Add fields to decode uAPSD fields. 2016-03-30 00:42:18 +00:00