summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_node.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2009-02-19 05:21:54 +0000
committersam <sam@FreeBSD.org>2009-02-19 05:21:54 +0000
commitac3671600d3f9dfcb9dec1c308b4273cfb9422e8 (patch)
tree8c26850231f8a1c174df4857a224272370e028d2 /sys/net80211/ieee80211_node.c
parentc56d117735c50a60c1061bf389db81f0cbd8ed8b (diff)
downloadFreeBSD-src-ac3671600d3f9dfcb9dec1c308b4273cfb9422e8.zip
FreeBSD-src-ac3671600d3f9dfcb9dec1c308b4273cfb9422e8.tar.gz
Add modes for 1/2 and 1/4-width channels so we have separate roaming
and xmit parameters. This makes it possible to use tdma on fractional channels. o add IEEE80211_MODE_HALF and IEEE80211_MODE_QUARTER; note these are band-agnostic (may need revisiting) o setup all default rates in ic_sup_rates instead of doing it only for active modes; we need these to calculate the default tx parameters which are not recalculated after a regulatory update (can't just recalculate after installing a new channel list because we might clobber user settings) o remove special case code in ieee80211_get_suprates; this is now a candidate for an inline or removal o add various entries for new modes (roaming+tx params, wme, rate mapping, scan set setup, country ie construction, tdma, basic rates) Note these modes are intentionally not visible through if_media.
Diffstat (limited to 'sys/net80211/ieee80211_node.c')
-rw-r--r--sys/net80211/ieee80211_node.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c
index aa92d8e..3dc2827 100644
--- a/sys/net80211/ieee80211_node.c
+++ b/sys/net80211/ieee80211_node.c
@@ -237,6 +237,10 @@ node_setuptxparms(struct ieee80211_node *ni)
/* NB: 108A/108G should be handled as 11a/11g respectively */
if (IEEE80211_IS_CHAN_ST(ni->ni_chan))
mode = IEEE80211_MODE_STURBO_A;
+ else if (IEEE80211_IS_CHAN_HALF(ni->ni_chan))
+ mode = IEEE80211_MODE_HALF;
+ else if (IEEE80211_IS_CHAN_QUARTER(ni->ni_chan))
+ mode = IEEE80211_MODE_QUARTER;
else if (IEEE80211_IS_CHAN_A(ni->ni_chan))
mode = IEEE80211_MODE_11A;
else if (ni->ni_flags & IEEE80211_NODE_ERP)
OpenPOWER on IntegriCloud