freebsd-skq/sys/net80211
Adrian Chadd 172b009aef [net80211] don't add IBSS node table entries for neighbors from other SSIDs.
The adhoc probe/beacon input path was creating nodes for all SSIDs.
This wasn't a problem when the NICs were configured to only process
frames for the current BSSID, but that didn't allow IBSS merges.
Once avos and I flipped on "beacons from all BSSIDs" to allow for
correct IBSS merging, we found this interesting behaviour.

This adds a check against the current SSID.

* If there's no VAP SSID, allow anything
* If there's a VAP SSID, check if the incoming frame has a suitable
  SSID and if so, allow it.

This prevents nodes being created for other SSIDs in probe and beacon
frames - ie, beacons overlapping IBSSes with different SSIDs, and
probe requests from arbitrary devices.

Tested:

* AR9380, IBSS mode, both local and other IBSSes.

Reviewed by:	avos
Differential Revision:	https://reviews.freebsd.org/D7959
2016-09-21 19:48:07 +00:00
..
_ieee80211.h net80211: calculate IEEE80211_MODE_BYTES / IEEE80211_CHAN_BYTES 2016-05-01 20:57:10 +00:00
ieee80211_acl.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_action.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211_action.h
ieee80211_adhoc.c [net80211] don't add IBSS node table entries for neighbors from other SSIDs. 2016-09-21 19:48:07 +00:00
ieee80211_adhoc.h
ieee80211_ageq.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_ageq.h
ieee80211_alq.c
ieee80211_alq.h
ieee80211_amrr.c [net80211] teach AMRR to log the initial MCS rate as "MCS X" 2016-07-01 19:58:13 +00:00
ieee80211_amrr.h
ieee80211_crypto_ccmp.c net80211: add new method for ieee80211_cipher (ic_setiv). 2015-10-03 00:50:13 +00:00
ieee80211_crypto_none.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211_crypto_tkip.c net80211: add new method for ieee80211_cipher (ic_setiv). 2015-10-03 00:50:13 +00:00
ieee80211_crypto_wep.c sys: replace comma with semicolon when pertinent. 2016-08-09 19:42:20 +00:00
ieee80211_crypto.c net80211: drop redundant 3rd parameter from iv_key_set(). 2015-10-03 21:48:27 +00:00
ieee80211_crypto.h net80211: allow to override SWCRYPT/SWMIC bits in the driver 2016-09-15 22:27:00 +00:00
ieee80211_ddb.c net80211: fix LOR/deadlock in ieee80211_ff_node_cleanup(). 2016-06-29 17:25:46 +00:00
ieee80211_dfs.c [net80211] migrate the time_* macros to ieee80211_* namespace. 2016-03-30 00:44:10 +00:00
ieee80211_dfs.h
ieee80211_freebsd.c [net80211] add in ToA/ToD based location mbuf tags for some experimenting. 2016-09-09 04:47:48 +00:00
ieee80211_freebsd.h [net80211] add in ToA/ToD based location mbuf tags for some experimenting. 2016-09-09 04:47:48 +00:00
ieee80211_hostap.c net80211: improve error checking in ieee80211_parse_{wpa,rsn}() 2016-09-13 22:59:38 +00:00
ieee80211_hostap.h
ieee80211_ht.c [net80211] add a HT method to populate HTCAP based on IBSS requirements. 2016-09-17 05:44:57 +00:00
ieee80211_ht.h [net80211] add a HT method to populate HTCAP based on IBSS requirements. 2016-09-17 05:44:57 +00:00
ieee80211_hwmp.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211_input.c Extract out the various local definitions of ETHER_IS_BROADCAST() and 2016-08-07 03:48:33 +00:00
ieee80211_input.h net80211: hide subtype mask & shift in function call. 2016-04-20 21:15:55 +00:00
ieee80211_ioctl.c [net80211] correctly lock the ifp before accessing the lladdr. 2016-08-18 01:25:12 +00:00
ieee80211_ioctl.h [net80211] add an ioctl for LDPC configuration. 2016-04-26 01:26:11 +00:00
ieee80211_mesh.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211_mesh.h Migrate the 802.11s locks out into ieee80211_freebsd.h, so they can be 2015-05-26 04:25:11 +00:00
ieee80211_monitor.c Begin plumbing ieee80211_rx_stats through the receive path. 2015-05-25 16:37:41 +00:00
ieee80211_monitor.h
ieee80211_node.c [net80211] don't add IBSS node table entries for neighbors from other SSIDs. 2016-09-21 19:48:07 +00:00
ieee80211_node.h [net80211] don't add IBSS node table entries for neighbors from other SSIDs. 2016-09-21 19:48:07 +00:00
ieee80211_output.c net80211: discard an injected frame if it is smaller than header length. 2016-06-09 13:42:18 +00:00
ieee80211_phy.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211_phy.h [net80211] rename 11n rate macros into a useful spot 2016-04-05 22:01:56 +00:00
ieee80211_power.c [net80211] migrate the time_* macros to ieee80211_* namespace. 2016-03-30 00:44:10 +00:00
ieee80211_power.h
ieee80211_proto.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
ieee80211_proto.h sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
ieee80211_radiotap.c Remove unused include. 2015-05-25 14:54:10 +00:00
ieee80211_radiotap.h
ieee80211_ratectl_none.c Move counter.h include into ieee80211_freebsd.h. Should fix build. 2015-05-27 14:05:46 +00:00
ieee80211_ratectl.c [net80211] Begin implementing rate control module stats. 2016-03-16 02:07:04 +00:00
ieee80211_ratectl.h [net80211] Begin implementing rate control module stats. 2016-03-16 02:07:04 +00:00
ieee80211_regdomain.c ifconfig: set by default FCC regulatory domain for wireless interfaces. 2016-05-26 13:14:08 +00:00
ieee80211_regdomain.h
ieee80211_rssadapt.c Convert malloc/free back to #define's, as part of OS portability work. 2015-05-25 19:18:16 +00:00
ieee80211_rssadapt.h
ieee80211_scan_sta.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211_scan_sw.c net80211: send RTM_IEEE80211_SCAN event when scan was cancelled. 2016-05-21 23:21:42 +00:00
ieee80211_scan_sw.h Break out the current 802.11 software scan methods into an indirect table. 2015-06-08 02:35:43 +00:00
ieee80211_scan.c net80211: refresh comments for ieee80211_scan_next() and 2016-04-21 06:19:33 +00:00
ieee80211_scan.h Break out the current 802.11 software scan methods into an indirect table. 2015-06-08 02:35:43 +00:00
ieee80211_sta.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211_sta.h
ieee80211_superg.c net80211: fix LOR/deadlock in ieee80211_ff_node_cleanup(). 2016-06-29 17:25:46 +00:00
ieee80211_superg.h net80211: fix LOR/deadlock in ieee80211_ff_node_cleanup(). 2016-06-29 17:25:46 +00:00
ieee80211_tdma.c net80211: hide subtype mask & shift in function call. 2016-04-20 21:15:55 +00:00
ieee80211_tdma.h Begin plumbing ieee80211_rx_stats through the receive path. 2015-05-25 16:37:41 +00:00
ieee80211_var.h net80211: fix LOR/deadlock in ieee80211_ff_node_cleanup(). 2016-06-29 17:25:46 +00:00
ieee80211_wds.c net80211: drop some unused variables / local macros 2016-05-12 22:17:00 +00:00
ieee80211_wds.h
ieee80211_xauth.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211.c net80211: fix more compiler warnings. 2016-05-19 21:08:33 +00:00
ieee80211.h [net80211] Add fields to decode uAPSD fields. 2016-03-30 00:42:18 +00:00