summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-08-07 16:23:43 +0200
committerJohn W. Linville <linville@tuxdriver.com>2009-08-14 15:13:43 +0200
commitc555b9b3713e05586fabe85f4e46f28859e72930 (patch)
treec94e3ab08a99e5ffba369304ca790318ab093cab /include
parentnl80211: add generation number to all dumps (diff)
downloadlinux-c555b9b3713e05586fabe85f4e46f28859e72930.tar.xz
linux-c555b9b3713e05586fabe85f4e46f28859e72930.zip
mac80211: explain TX retry and status
Add some more documentation including an example so that it's clearer what should be done for TX retries. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r--include/net/mac80211.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index e2fb5767e1fa..467eed71be22 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -338,6 +338,21 @@ enum mac80211_rate_control_flags {
*
* When used for transmit status reporting, the driver should
* always report the rate along with the flags it used.
+ *
+ * &struct ieee80211_tx_info contains an array of these structs
+ * in the control information, and it will be filled by the rate
+ * control algorithm according to what should be sent. For example,
+ * if this array contains, in the format { <idx>, <count> } the
+ * information
+ * { 3, 2 }, { 2, 2 }, { 1, 4 }, { -1, 0 }, { -1, 0 }
+ * then this means that the frame should be transmitted
+ * up to twice at rate 3, up to twice at rate 2, and up to four
+ * times at rate 1 if it doesn't get acknowledged. Say it gets
+ * acknowledged by the peer after the fifth attempt, the status
+ * information should then contain
+ * { 3, 2 }, { 2, 2 }, { 1, 1 }, { -1, 0 } ...
+ * since it was transmitted twice at rate 3, twice at rate 2
+ * and once at rate 1 after which we received an acknowledgement.
*/
struct ieee80211_tx_rate {
s8 idx;