summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_node.h
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2011-04-08 09:20:45 +0000
committeradrian <adrian@FreeBSD.org>2011-04-08 09:20:45 +0000
commit04a664ee1baf82bf5944c99c19b983121b136b2b (patch)
treef9e05b144f48a3d203c359da6d5d69c1a7c22daa /sys/net80211/ieee80211_node.h
parent416bdcba5e6296557c941806cd8ce943d47a90ff (diff)
downloadFreeBSD-src-04a664ee1baf82bf5944c99c19b983121b136b2b.zip
FreeBSD-src-04a664ee1baf82bf5944c99c19b983121b136b2b.tar.gz
Add initial support for MIMO statistics to net80211.
This introduces struct ieee80211_rx_stats - which stores the various kinds of RX statistics which a MIMO and non-MIMO 802.11 device can export. It also fleshes out the mimo export to userland (node_getmimoinfo()). It assumes that MIMO radios (for now) export both ctl and ext channels. Non-11n MIMO radios are possible (and I believe Atheros made at least one), so if that chipset support is added, extra flags to the struct ieee80211_rx_stats can be added to extend this support. Two new input functions have been added - ieee80211_input_mimo() and ieee80211_input_mimo_all() - which MIMO-aware devices can call with MIMO specific statistics. 802.11 devices calling the non-MIMO input functions will still function.
Diffstat (limited to 'sys/net80211/ieee80211_node.h')
-rw-r--r--sys/net80211/ieee80211_node.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_node.h b/sys/net80211/ieee80211_node.h
index 01bb2cf..c1fc0069 100644
--- a/sys/net80211/ieee80211_node.h
+++ b/sys/net80211/ieee80211_node.h
@@ -166,6 +166,13 @@ struct ieee80211_node {
uint32_t ni_avgrssi; /* recv ssi state */
int8_t ni_noise; /* noise floor */
+ /* mimo statistics */
+ uint32_t ni_mimo_rssi_ctl[IEEE80211_MAX_CHAINS];
+ uint32_t ni_mimo_rssi_ext[IEEE80211_MAX_CHAINS];
+ uint8_t ni_mimo_noise_ctl[IEEE80211_MAX_CHAINS];
+ uint8_t ni_mimo_noise_ext[IEEE80211_MAX_CHAINS];
+ uint8_t ni_mimo_chains;
+
/* header */
uint8_t ni_macaddr[IEEE80211_ADDR_LEN];
uint8_t ni_bssid[IEEE80211_ADDR_LEN];
OpenPOWER on IntegriCloud