Deleted Added
full compact
ieee80211_amrr.c (206419) ieee80211_amrr.c (207323)
1/* $OpenBSD: ieee80211_amrr.c,v 1.1 2006/06/17 19:07:19 damien Exp $ */
2
3/*-
4 * Copyright (c) 2010 Rui Paulo <rpaulo@FreeBSD.org>
5 * Copyright (c) 2006
6 * Damien Bergamini <damien.bergamini@free.fr>
7 *
8 * Permission to use, copy, modify, and distribute this software for any

--- 5 unchanged lines hidden (view full) ---

14 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19 */
20
21#include <sys/cdefs.h>
1/* $OpenBSD: ieee80211_amrr.c,v 1.1 2006/06/17 19:07:19 damien Exp $ */
2
3/*-
4 * Copyright (c) 2010 Rui Paulo <rpaulo@FreeBSD.org>
5 * Copyright (c) 2006
6 * Damien Bergamini <damien.bergamini@free.fr>
7 *
8 * Permission to use, copy, modify, and distribute this software for any

--- 5 unchanged lines hidden (view full) ---

14 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19 */
20
21#include <sys/cdefs.h>
22__FBSDID("$FreeBSD: head/sys/net80211/ieee80211_amrr.c 206419 2010-04-09 12:06:19Z rpaulo $");
22__FBSDID("$FreeBSD: head/sys/net80211/ieee80211_amrr.c 207323 2010-04-28 13:25:53Z rpaulo $");
23
24/*-
25 * Naive implementation of the Adaptive Multi Rate Retry algorithm:
26 *
27 * "IEEE 802.11 Rate Adaptation: A Practical Approach"
28 * Mathieu Lacage, Hossein Manshaei, Thierry Turletti
29 * INRIA Sophia - Projet Planete
30 * http://www-sop.inria.fr/rapports/sophia/RR-5208.html

--- 100 unchanged lines hidden (view full) ---

131static void
132amrr_node_init(struct ieee80211_node *ni)
133{
134 const struct ieee80211_rateset *rs = &ni->ni_rates;
135 struct ieee80211vap *vap = ni->ni_vap;
136 struct ieee80211_amrr *amrr = vap->iv_rs;
137 struct ieee80211_amrr_node *amn;
138
23
24/*-
25 * Naive implementation of the Adaptive Multi Rate Retry algorithm:
26 *
27 * "IEEE 802.11 Rate Adaptation: A Practical Approach"
28 * Mathieu Lacage, Hossein Manshaei, Thierry Turletti
29 * INRIA Sophia - Projet Planete
30 * http://www-sop.inria.fr/rapports/sophia/RR-5208.html

--- 100 unchanged lines hidden (view full) ---

131static void
132amrr_node_init(struct ieee80211_node *ni)
133{
134 const struct ieee80211_rateset *rs = &ni->ni_rates;
135 struct ieee80211vap *vap = ni->ni_vap;
136 struct ieee80211_amrr *amrr = vap->iv_rs;
137 struct ieee80211_amrr_node *amn;
138
139 KASSERT(ni->ni_rctls == NULL, ("%s: ni_rctls already initialized",
140 __func__));
141
142 ni->ni_rctls = amn = malloc(sizeof(struct ieee80211_amrr_node),
143 M_80211_RATECTL, M_NOWAIT|M_ZERO);
144 if (amn == NULL) {
145 if_printf(vap->iv_ifp, "couldn't alloc per-node ratectl "
146 "structure\n");
147 return;
148 }
139 if (ni->ni_rctls == NULL) {
140 ni->ni_rctls = amn = malloc(sizeof(struct ieee80211_amrr_node),
141 M_80211_RATECTL, M_NOWAIT|M_ZERO);
142 if (amn == NULL) {
143 if_printf(vap->iv_ifp, "couldn't alloc per-node ratectl "
144 "structure\n");
145 return;
146 }
147 } else
148 amn = ni->ni_rctls;
149 amn->amn_amrr = amrr;
150 amn->amn_success = 0;
151 amn->amn_recovery = 0;
152 amn->amn_txcnt = amn->amn_retrycnt = 0;
153 amn->amn_success_threshold = amrr->amrr_min_success_threshold;
154
155 /* pick initial rate */
156 for (amn->amn_rix = rs->rs_nrates - 1;

--- 161 unchanged lines hidden ---
149 amn->amn_amrr = amrr;
150 amn->amn_success = 0;
151 amn->amn_recovery = 0;
152 amn->amn_txcnt = amn->amn_retrycnt = 0;
153 amn->amn_success_threshold = amrr->amrr_min_success_threshold;
154
155 /* pick initial rate */
156 for (amn->amn_rix = rs->rs_nrates - 1;

--- 161 unchanged lines hidden ---