Page MenuHomeFreeBSD

net80211: do not enforce promiscuous mode for AP scan
ClosedPublic

Authored by avos on Feb 27 2016, 2:38 PM.
Tags
None
Referenced Files
Unknown Object (File)
Nov 19 2024, 11:02 AM
Unknown Object (File)
Nov 3 2024, 7:21 PM
Unknown Object (File)
Nov 3 2024, 7:21 PM
Unknown Object (File)
Nov 3 2024, 7:20 PM
Unknown Object (File)
Nov 3 2024, 7:08 PM
Unknown Object (File)
Oct 19 2024, 7:26 AM
Unknown Object (File)
Oct 9 2024, 9:36 PM
Unknown Object (File)
Oct 5 2024, 12:47 PM
Subscribers

Details

Summary

Drivers should set their own filters via ic_scan_start()/ic_scan_end() callbacks; and we don't need frames other than beacons or probe responses.

Test Plan

Tested with Intel 3945BG, RTL8188EU and WUSB54GC in HOSTAP mode.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

avos retitled this revision from to net80211: do not enforce promiscuous mode for AP scan.
avos updated this object.
avos edited the test plan for this revision. (Show Details)
avos added a reviewer: adrian.
avos set the repository for this revision to rS FreeBSD src repository - subversion.

ok, I wonder if there are some drivers that don't yet do this, and thus will break. :(

Maybe put a call out for this for some wider testing?

Well, right now it's a noop (fixed in D5472)

Some review on drivers with IEEE80211_C_HOSTAP bit set (not mentioned in Test Plan):
ath(4) (seems to work without promiscuous mode (partially?):

u_int32_t
ath_calcrxfilter(struct ath_softc *sc)
{
...
	/*
	 * NB: We don't recalculate the rx filter when
	 * ic_protmode changes; otherwise we could do
	 * this only when ic_protmode != NONE.
	 */
	if (ic->ic_opmode == IEEE80211_M_HOSTAP &&
	    IEEE80211_IS_CHAN_ANYG(ic->ic_curchan))   <<< 11g only?
		rfilt |= HAL_RX_FILTER_BEACON;
...
}

wi(4) (probably, never worked (look at comment in wi_parent()), may be fixed in D5381)
ural(4), run(4), rt2560/rt2661 - looks similar to rum(4)
mwl(4), rt2860 - no idea here

In D5474#116711, @s3erios_gmail.com wrote:

Well, right now it's a noop (fixed in D5472)

and, after applying it (without this patch), I have got kernel panic (ic_promisc was decremented twice for the same vap by ieee80211_check_scan())

adrian edited edge metadata.

ok. Well, when you commit the scan framework stuff, you should likely fix this up at the same time and commit it?

This revision is now accepted and ready to land.Feb 29 2016, 7:24 AM
This revision was automatically updated to reflect the committed changes.