From: Antonio Quartulli <antonio@meshcoding.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-wireless@vger.kernel.org,
Antonio Quartulli <antonio@open-mesh.com>
Subject: [RFC 1/5] cfg80211: export minstrel best rate information through get_station()
Date: Tue, 21 Jan 2014 12:09:47 +0100 [thread overview]
Message-ID: <1390302591-3352-2-git-send-email-antonio@meshcoding.com> (raw)
In-Reply-To: <1390302591-3352-1-git-send-email-antonio@meshcoding.com>
From: Antonio Quartulli <antonio@open-mesh.com>
Users may need information about the best rate used by
minstrel for a particular wireless device.
Export such rate and its success probability through the
get_station() API.
The exported information is Minstrel specific only,
therefore drivers not using such RC algorithm should not
report this data.
This information is useful to the batman-adv module which
will use it for its new metric computation.
Signed-off-by: Antonio Quartulli <antonio@open-mesh.com>
---
include/net/cfg80211.h | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index d5e57bf..51d5d94 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -854,6 +854,7 @@ int cfg80211_check_station_change(struct wiphy *wiphy,
* @STATION_INFO_NONPEER_PM: @nonpeer_pm filled
* @STATION_INFO_CHAIN_SIGNAL: @chain_signal filled
* @STATION_INFO_CHAIN_SIGNAL_AVG: @chain_signal_avg filled
+ * @STATION_INFO_MINSTREL_BEST_RATE: @minstrel_best_rate filled
*/
enum station_info_flags {
STATION_INFO_INACTIVE_TIME = 1<<0,
@@ -884,6 +885,7 @@ enum station_info_flags {
STATION_INFO_TX_BYTES64 = 1<<25,
STATION_INFO_CHAIN_SIGNAL = 1<<26,
STATION_INFO_CHAIN_SIGNAL_AVG = 1<<27,
+ STATION_INFO_MINSTREL_BEST_RATE = 1<<28,
};
/**
@@ -963,6 +965,16 @@ struct sta_bss_parameters {
#define IEEE80211_MAX_CHAINS 4
/**
+ * struct cfg80211_minstral_rate_info - exported minstrel rate information
+ * @bitrate: current chosen TX bitrate
+ * @prob: probability of success of this birate
+ */
+struct cfg80211_minstrel_rate_info {
+ u32 bitrate;
+ u32 prob;
+};
+
+/**
* struct station_info - station information
*
* Station information filled by driver for get_station() and dump_station.
@@ -1005,6 +1017,9 @@ struct sta_bss_parameters {
* @local_pm: local mesh STA power save mode
* @peer_pm: peer mesh STA power save mode
* @nonpeer_pm: non-peer mesh STA power save mode
+ * @minstrel_best_rate: information extracted from the Minstrel RC algorithm
+ * about the bitrate having the maximum throughput. This field can be filled
+ * only by drivers using Minstrel
*/
struct station_info {
u32 filled;
@@ -1043,6 +1058,8 @@ struct station_info {
enum nl80211_mesh_power_mode peer_pm;
enum nl80211_mesh_power_mode nonpeer_pm;
+ struct cfg80211_minstrel_rate_info minstrel_best_rate;
+
/*
* Note: Add a new enum station_info_flags value for each new field and
* use it to check which fields are initialized.
--
1.8.5.3
next prev parent reply other threads:[~2014-01-21 11:11 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-21 11:09 [RFC 0/5] Export Minstrel best API information via get_station() Antonio Quartulli
2014-01-21 11:09 ` Antonio Quartulli [this message]
2014-01-21 16:00 ` [RFC 1/5] cfg80211: export minstrel best rate information through get_station() Johannes Berg
2014-01-21 16:09 ` Antonio Quartulli
2014-01-21 16:18 ` Johannes Berg
2014-01-21 16:32 ` Antonio Quartulli
2014-01-22 14:41 ` Antonio Quartulli
2014-01-22 14:43 ` Johannes Berg
2014-01-22 18:32 ` Thomas Hühn
2014-01-22 18:44 ` Antonio Quartulli
2014-01-21 11:09 ` [RFC 2/5] mac80211: export minstrel best rate information in set_sta_info() Antonio Quartulli
2014-01-21 16:01 ` Johannes Berg
2014-01-21 11:09 ` [RFC 3/5] mac80211: minstrel - implement get_minstrel_best_rate() API Antonio Quartulli
2014-01-21 11:09 ` [RFC 4/5] mac80211: minstrel_ht " Antonio Quartulli
2014-01-21 11:09 ` [RFC 5/5] cfg80211: implement cfg80211_get_station Antonio Quartulli
2014-01-21 16:03 ` Johannes Berg
2014-01-21 16:07 ` Antonio Quartulli
2014-01-21 13:52 ` [RFC 0/5] Export Minstrel best API information via get_station() Thomas Hühn
2014-01-21 15:28 ` [B.A.T.M.A.N.] " Antonio Quartulli
2014-01-21 15:28 ` Antonio Quartulli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1390302591-3352-2-git-send-email-antonio@meshcoding.com \
--to=antonio@meshcoding.com \
--cc=antonio@open-mesh.com \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.