ieee80211_rssadapt.c (257241) | ieee80211_rssadapt.c (283538) |
---|---|
1/* $FreeBSD: head/sys/net80211/ieee80211_rssadapt.c 257241 2013-10-28 07:29:16Z glebius $ */ | 1/* $FreeBSD: head/sys/net80211/ieee80211_rssadapt.c 283538 2015-05-25 19:18:16Z adrian $ */ |
2/* $NetBSD: ieee80211_rssadapt.c,v 1.9 2005/02/26 22:45:09 perry Exp $ */ 3/*- 4 * Copyright (c) 2010 Rui Paulo <rpaulo@FreeBSD.org> 5 * Copyright (c) 2003, 2004 David Young. All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or 8 * without modification, are permitted provided that the following 9 * conditions are met: --- 117 unchanged lines hidden (view full) --- 127static void 128rssadapt_init(struct ieee80211vap *vap) 129{ 130 struct ieee80211_rssadapt *rs; 131 132 KASSERT(vap->iv_rs == NULL, ("%s: iv_rs already initialized", 133 __func__)); 134 | 2/* $NetBSD: ieee80211_rssadapt.c,v 1.9 2005/02/26 22:45:09 perry Exp $ */ 3/*- 4 * Copyright (c) 2010 Rui Paulo <rpaulo@FreeBSD.org> 5 * Copyright (c) 2003, 2004 David Young. All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or 8 * without modification, are permitted provided that the following 9 * conditions are met: --- 117 unchanged lines hidden (view full) --- 127static void 128rssadapt_init(struct ieee80211vap *vap) 129{ 130 struct ieee80211_rssadapt *rs; 131 132 KASSERT(vap->iv_rs == NULL, ("%s: iv_rs already initialized", 133 __func__)); 134 |
135 vap->iv_rs = rs = malloc(sizeof(struct ieee80211_rssadapt), 136 M_80211_RATECTL, M_NOWAIT|M_ZERO); | 135 vap->iv_rs = rs = IEEE80211_MALLOC(sizeof(struct ieee80211_rssadapt), 136 M_80211_RATECTL, IEEE80211_M_NOWAIT | IEEE80211_M_ZERO); |
137 if (rs == NULL) { 138 if_printf(vap->iv_ifp, "couldn't alloc ratectl structure\n"); 139 return; 140 } 141 rs->vap = vap; 142 rssadapt_setinterval(vap, 500 /* msecs */); 143 rssadapt_sysctlattach(vap, vap->iv_sysctl, vap->iv_oid); 144} 145 146static void 147rssadapt_deinit(struct ieee80211vap *vap) 148{ | 137 if (rs == NULL) { 138 if_printf(vap->iv_ifp, "couldn't alloc ratectl structure\n"); 139 return; 140 } 141 rs->vap = vap; 142 rssadapt_setinterval(vap, 500 /* msecs */); 143 rssadapt_sysctlattach(vap, vap->iv_sysctl, vap->iv_oid); 144} 145 146static void 147rssadapt_deinit(struct ieee80211vap *vap) 148{ |
149 free(vap->iv_rs, M_80211_RATECTL); | 149 IEEE80211_FREE(vap->iv_rs, M_80211_RATECTL); |
150} 151 152static void 153rssadapt_updatestats(struct ieee80211_rssadapt_node *ra) 154{ 155 long interval; 156 157 ra->ra_pktrate = (ra->ra_pktrate + 10*(ra->ra_nfail + ra->ra_nok))/2; --- 12 unchanged lines hidden (view full) --- 170{ 171 struct ieee80211_rssadapt_node *ra; 172 struct ieee80211vap *vap = ni->ni_vap; 173 struct ieee80211_rssadapt *rsa = vap->iv_rs; 174 const struct ieee80211_rateset *rs = &ni->ni_rates; 175 176 if (ni->ni_rctls == NULL) { 177 ni->ni_rctls = ra = | 150} 151 152static void 153rssadapt_updatestats(struct ieee80211_rssadapt_node *ra) 154{ 155 long interval; 156 157 ra->ra_pktrate = (ra->ra_pktrate + 10*(ra->ra_nfail + ra->ra_nok))/2; --- 12 unchanged lines hidden (view full) --- 170{ 171 struct ieee80211_rssadapt_node *ra; 172 struct ieee80211vap *vap = ni->ni_vap; 173 struct ieee80211_rssadapt *rsa = vap->iv_rs; 174 const struct ieee80211_rateset *rs = &ni->ni_rates; 175 176 if (ni->ni_rctls == NULL) { 177 ni->ni_rctls = ra = |
178 malloc(sizeof(struct ieee80211_rssadapt_node), 179 M_80211_RATECTL, M_NOWAIT|M_ZERO); | 178 IEEE80211_MALLOC(sizeof(struct ieee80211_rssadapt_node), 179 M_80211_RATECTL, IEEE80211_M_NOWAIT | IEEE80211_M_ZERO); |
180 if (ra == NULL) { 181 if_printf(vap->iv_ifp, "couldn't alloc per-node ratectl " 182 "structure\n"); 183 return; 184 } 185 } else 186 ra = ni->ni_rctls; 187 ra->ra_rs = rsa; --- 11 unchanged lines hidden (view full) --- 199 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, 200 "RSSADAPT initial rate %d", ni->ni_txrate); 201} 202 203static void 204rssadapt_node_deinit(struct ieee80211_node *ni) 205{ 206 | 180 if (ra == NULL) { 181 if_printf(vap->iv_ifp, "couldn't alloc per-node ratectl " 182 "structure\n"); 183 return; 184 } 185 } else 186 ra = ni->ni_rctls; 187 ra->ra_rs = rsa; --- 11 unchanged lines hidden (view full) --- 199 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, 200 "RSSADAPT initial rate %d", ni->ni_txrate); 201} 202 203static void 204rssadapt_node_deinit(struct ieee80211_node *ni) 205{ 206 |
207 free(ni->ni_rctls, M_80211_RATECTL); | 207 IEEE80211_FREE(ni->ni_rctls, M_80211_RATECTL); |
208} 209 210static __inline int 211bucket(int pktlen) 212{ 213 int i, top, thridx; 214 215 for (i = 0, top = IEEE80211_RSSADAPT_BKT0; --- 138 unchanged lines hidden --- | 208} 209 210static __inline int 211bucket(int pktlen) 212{ 213 int i, top, thridx; 214 215 for (i = 0, top = IEEE80211_RSSADAPT_BKT0; --- 138 unchanged lines hidden --- |