aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBruno Randolf <br1@einfach.org>2010-11-15 20:58:48 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-11-18 14:22:20 -0500
commit86107fd170bc379869250eb7e1bd393a3a70e8ae (patch)
tree579ee24be87e94246450420f4de57d8eda942848 /include
parenteef39befaae2a1559efe197d795c376a317af2af (diff)
nl80211/mac80211: Report signal average
Extend nl80211 to report an exponential weighted moving average (EWMA) of the signal value. Since the signal value usually fluctuates between different packets, an average can be more useful than the value of the last packet. This uses the recently added generic EWMA library function. Signed-off-by: Bruno Randolf <br1@einfach.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nl80211.h2
-rw-r--r--include/net/cfg80211.h4
2 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index 037b4e498890..1ce3775e9e26 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -1161,6 +1161,7 @@ enum nl80211_rate_info {
1161 * @__NL80211_STA_INFO_AFTER_LAST: internal 1161 * @__NL80211_STA_INFO_AFTER_LAST: internal
1162 * @NL80211_STA_INFO_MAX: highest possible station info attribute 1162 * @NL80211_STA_INFO_MAX: highest possible station info attribute
1163 * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm) 1163 * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm)
1164 * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm)
1164 * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute 1165 * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute
1165 * containing info as possible, see &enum nl80211_sta_info_txrate. 1166 * containing info as possible, see &enum nl80211_sta_info_txrate.
1166 * @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station) 1167 * @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station)
@@ -1178,6 +1179,7 @@ enum nl80211_sta_info {
1178 NL80211_STA_INFO_PLID, 1179 NL80211_STA_INFO_PLID,
1179 NL80211_STA_INFO_PLINK_STATE, 1180 NL80211_STA_INFO_PLINK_STATE,
1180 NL80211_STA_INFO_SIGNAL, 1181 NL80211_STA_INFO_SIGNAL,
1182 NL80211_STA_INFO_SIGNAL_AVG,
1181 NL80211_STA_INFO_TX_BITRATE, 1183 NL80211_STA_INFO_TX_BITRATE,
1182 NL80211_STA_INFO_RX_PACKETS, 1184 NL80211_STA_INFO_RX_PACKETS,
1183 NL80211_STA_INFO_TX_PACKETS, 1185 NL80211_STA_INFO_TX_PACKETS,
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 8fd9eebd0cc9..69e2364889f1 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -424,6 +424,7 @@ struct station_parameters {
424 * @STATION_INFO_TX_RETRIES: @tx_retries filled 424 * @STATION_INFO_TX_RETRIES: @tx_retries filled
425 * @STATION_INFO_TX_FAILED: @tx_failed filled 425 * @STATION_INFO_TX_FAILED: @tx_failed filled
426 * @STATION_INFO_RX_DROP_MISC: @rx_dropped_misc filled 426 * @STATION_INFO_RX_DROP_MISC: @rx_dropped_misc filled
427 * @STATION_INFO_SIGNAL_AVG: @signal_avg filled
427 */ 428 */
428enum station_info_flags { 429enum station_info_flags {
429 STATION_INFO_INACTIVE_TIME = 1<<0, 430 STATION_INFO_INACTIVE_TIME = 1<<0,
@@ -439,6 +440,7 @@ enum station_info_flags {
439 STATION_INFO_TX_RETRIES = 1<<10, 440 STATION_INFO_TX_RETRIES = 1<<10,
440 STATION_INFO_TX_FAILED = 1<<11, 441 STATION_INFO_TX_FAILED = 1<<11,
441 STATION_INFO_RX_DROP_MISC = 1<<12, 442 STATION_INFO_RX_DROP_MISC = 1<<12,
443 STATION_INFO_SIGNAL_AVG = 1<<13,
442}; 444};
443 445
444/** 446/**
@@ -485,6 +487,7 @@ struct rate_info {
485 * @plid: mesh peer link id 487 * @plid: mesh peer link id
486 * @plink_state: mesh peer link state 488 * @plink_state: mesh peer link state
487 * @signal: signal strength of last received packet in dBm 489 * @signal: signal strength of last received packet in dBm
490 * @signal_avg: signal strength average in dBm
488 * @txrate: current unicast bitrate to this station 491 * @txrate: current unicast bitrate to this station
489 * @rx_packets: packets received from this station 492 * @rx_packets: packets received from this station
490 * @tx_packets: packets transmitted to this station 493 * @tx_packets: packets transmitted to this station
@@ -505,6 +508,7 @@ struct station_info {
505 u16 plid; 508 u16 plid;
506 u8 plink_state; 509 u8 plink_state;
507 s8 signal; 510 s8 signal;
511 s8 signal_avg;
508 struct rate_info txrate; 512 struct rate_info txrate;
509 u32 rx_packets; 513 u32 rx_packets;
510 u32 tx_packets; 514 u32 tx_packets;