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 --- |