summaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_rate.h
diff options
context:
space:
mode:
authorMattias Nissler2007-12-19 01:25:57 +0100
committerDavid S. Miller2008-01-28 23:59:18 +0100
commitad01837593338f13508463fa11c8dbf8109a1e5d (patch)
tree77b521a6b8e7f8357505449fe812a9d41d40afb2 /net/mac80211/ieee80211_rate.h
parentmac80211: clean up rate selection (diff)
downloadkernel-qcow2-linux-ad01837593338f13508463fa11c8dbf8109a1e5d.tar.gz
kernel-qcow2-linux-ad01837593338f13508463fa11c8dbf8109a1e5d.tar.xz
kernel-qcow2-linux-ad01837593338f13508463fa11c8dbf8109a1e5d.zip
mac80211: add PID controller based rate control algorithm
Add a new rate control algorithm based on a PID controller. It samples the percentage of failed frames over time, feeds the result into the controller and uses its output to control the TX rate. Signed-off-by: Mattias Nissler <mattias.nissler@gmx.de> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac80211/ieee80211_rate.h')
-rw-r--r--net/mac80211/ieee80211_rate.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/ieee80211_rate.h b/net/mac80211/ieee80211_rate.h
index 787134bd6abf..3eb0696f3757 100644
--- a/net/mac80211/ieee80211_rate.h
+++ b/net/mac80211/ieee80211_rate.h
@@ -61,6 +61,9 @@ struct rate_control_ref {
/* default 'simple' algorithm */
extern struct rate_control_ops mac80211_rcsimple;
+/* 'PID' algorithm */
+extern struct rate_control_ops mac80211_rcpid;
+
int ieee80211_rate_control_register(struct rate_control_ops *ops);
void ieee80211_rate_control_unregister(struct rate_control_ops *ops);