diff options
author | sam <sam@FreeBSD.org> | 2009-01-29 23:12:06 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2009-01-29 23:12:06 +0000 |
commit | d134c940ba7222414e83d6ed9041e21fd8593fcf (patch) | |
tree | d8731dc1099090dc7e3076d9d9cf6b4c38f7d522 /sys/net80211/ieee80211_tdma.c | |
parent | 49cefc1300aa8e48d53ad9448df13a6e24eb27a0 (diff) | |
download | FreeBSD-src-d134c940ba7222414e83d6ed9041e21fd8593fcf.zip FreeBSD-src-d134c940ba7222414e83d6ed9041e21fd8593fcf.tar.gz |
setup default fixed rates for static turbo and 11n;
the 11n rates are pure guess
Diffstat (limited to 'sys/net80211/ieee80211_tdma.c')
-rw-r--r-- | sys/net80211/ieee80211_tdma.c | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/sys/net80211/ieee80211_tdma.c b/sys/net80211/ieee80211_tdma.c index b41e0f8..d41e039 100644 --- a/sys/net80211/ieee80211_tdma.c +++ b/sys/net80211/ieee80211_tdma.c @@ -79,6 +79,15 @@ __FBSDID("$FreeBSD$"); #ifndef TDMA_TXRATE_11A_DEFAULT #define TDMA_TXRATE_11A_DEFAULT 2*24 #endif +#ifndef TDMA_TXRATE_STURBO_A_DEFAULT +#define TDMA_TXRATE_STURBO_A_DEFAULT 2*24 +#endif +#ifndef TDMA_TXRATE_11NA_DEFAULT +#define TDMA_TXRATE_11NA_DEFAULT (4 | IEEE80211_RATE_MCS) +#endif +#ifndef TDMA_TXRATE_11NG_DEFAULT +#define TDMA_TXRATE_11NG_DEFAULT (4 | IEEE80211_RATE_MCS) +#endif static void tdma_vdetach(struct ieee80211vap *vap); static int tdma_newstate(struct ieee80211vap *, enum ieee80211_state, int); @@ -92,6 +101,13 @@ static int tdma_process_params(struct ieee80211_node *ni, const u_int8_t *ie, u_int32_t rstamp, const struct ieee80211_frame *wh); static void +settxparms(struct ieee80211vap *vap, enum ieee80211_phymode mode, int rate) +{ + vap->iv_txparms[mode].ucastrate = rate; + vap->iv_txparms[mode].mcastrate = rate; +} + +static void setackpolicy(struct ieee80211com *ic, int noack) { struct ieee80211_wme_state *wme = &ic->ic_wme; @@ -126,12 +142,12 @@ ieee80211_tdma_vattach(struct ieee80211vap *vap) ts->tdma_slot = 1; /* passive operation */ /* setup default fixed rates */ - vap->iv_txparms[IEEE80211_MODE_11B].ucastrate = TDMA_TXRATE_11B_DEFAULT; - vap->iv_txparms[IEEE80211_MODE_11B].mcastrate = TDMA_TXRATE_11B_DEFAULT; - vap->iv_txparms[IEEE80211_MODE_11G].ucastrate = TDMA_TXRATE_11G_DEFAULT; - vap->iv_txparms[IEEE80211_MODE_11G].mcastrate = TDMA_TXRATE_11G_DEFAULT; - vap->iv_txparms[IEEE80211_MODE_11A].ucastrate = TDMA_TXRATE_11A_DEFAULT; - vap->iv_txparms[IEEE80211_MODE_11A].mcastrate = TDMA_TXRATE_11A_DEFAULT; + settxparms(vap, IEEE80211_MODE_11A, TDMA_TXRATE_11A_DEFAULT); + settxparms(vap, IEEE80211_MODE_11B, TDMA_TXRATE_11B_DEFAULT); + settxparms(vap, IEEE80211_MODE_11G, TDMA_TXRATE_11G_DEFAULT); + settxparms(vap, IEEE80211_MODE_STURBO_A, TDMA_TXRATE_STURBO_A_DEFAULT); + settxparms(vap, IEEE80211_MODE_11NA, TDMA_TXRATE_11NA_DEFAULT); + settxparms(vap, IEEE80211_MODE_11NG, TDMA_TXRATE_11NG_DEFAULT); setackpolicy(vap->iv_ic, 1); /* disable ACK's */ |