summaryrefslogtreecommitdiffstats
path: root/sys/conf/files
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2015-01-06 02:08:45 +0000
committeradrian <adrian@FreeBSD.org>2015-01-06 02:08:45 +0000
commitab03e992585c9b77bf9147a3eab69b82317ec0c3 (patch)
treee24ae607a535943da161311fb7a2b1df34201ca1 /sys/conf/files
parent44c9ec0730af56ab448c8818fab9181ae45397b2 (diff)
downloadFreeBSD-src-ab03e992585c9b77bf9147a3eab69b82317ec0c3.zip
FreeBSD-src-ab03e992585c9b77bf9147a3eab69b82317ec0c3.tar.gz
Refactor and split out the net80211 software scan engine from the rest
of the scan API. The eventual aim is to have 'ieee80211_scan.c' have the net80211 and driver facing scan API to start, finish and continue doing scanning while 'ieee80211_swscan.c' implements the software scanner that runs the scan task, handles probe request/reply bits, configures the VAP off-channel, changes channel and does the scanning bits. For NICs that do no scanning at all, the existing code is needed. ath(4) and most of the other NICs (dumb USB ones in particular) do little to no scan offload - it's all done in software. Some NICs may do single channel at a time scanning; I haven't really checked them out in detail. iwn(4), the upcoming 7260 driver stuff, the new Qualcomm Atheros 11ac chipsets and the Atheros mobile/USB full-offload chips all have complete scan engines in firmware. We don't have to drive any of it at all - the firmware just needs to be told what to scan, when to scan, how long to scan. It'll take care of going off channel, pausing TX/RX appropriately, sending sleep notification to the AP, sending probe requests and handling probe responses. It'll do passive/active scan itself. It's almost completely transparent to the network stack - all we see are scan notifications when it finishes scanning each channel and beacons/probe responses when it does its thing. Once it's done we get a final notification that the scan is complete, with some scan results in the message. The iwn(4) NICs handle doing active scanning too as an option and will handle waiting appropriately on 5GHz passive channels before active scanning. There's some more refactoring, tidying up and lock assertions to sprinkle around to tidy this whole thing up before I turn swscan.c into another set of ic methods to override by the driver or alternate scan module. So in theory this is all one big no-op commit. In theory. Tested: * iwn(4) 5200, STA mode * ath(4) 6205, STA mode * ath(4) - various NICs, AP mode
Diffstat (limited to 'sys/conf/files')
-rw-r--r--sys/conf/files1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/conf/files b/sys/conf/files
index 4eb859b..78327f2 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -3316,6 +3316,7 @@ net80211/ieee80211_scan_sta.c optional wlan
net80211/ieee80211_sta.c optional wlan \
compile-with "${NORMAL_C} -Wno-unused-function"
net80211/ieee80211_superg.c optional wlan ieee80211_support_superg
+net80211/ieee80211_swscan.c optional wlan
net80211/ieee80211_tdma.c optional wlan ieee80211_support_tdma
net80211/ieee80211_wds.c optional wlan
net80211/ieee80211_xauth.c optional wlan wlan_xauth
OpenPOWER on IntegriCloud