summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2016-06-25 20:31:20 +0000
committeradrian <adrian@FreeBSD.org>2016-06-25 20:31:20 +0000
commit8c02f1341768e98505267de6ae1ff4b016732465 (patch)
treebf4c50b8f0cdf3d696cbadb8a7eaebf3a60f8b40
parent89e7e127596d1f7ed274816d890a0409f55bd788 (diff)
downloadFreeBSD-src-8c02f1341768e98505267de6ae1ff4b016732465.zip
FreeBSD-src-8c02f1341768e98505267de6ae1ff4b016732465.tar.gz
[net80211] re-revert the ibss "is this local to the bss" patch.
avos@ pointed out to me that this broke IBSS merging because the rest of the input path no longer was called for non-IBSS frames. I committed a change to not input non-IBSS frames, which stopped nodes being created for BSSes that weren't ours. Unfortunately thta stopped the input path for non-IBSS frames in general, so the management input path didn't work. So, I'll revert this until I come up with a better solution. (Hopefully before 11.) Reviewed by: avos Approved by: re (gjb)
-rw-r--r--sys/net80211/ieee80211_adhoc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211_adhoc.c b/sys/net80211/ieee80211_adhoc.c
index 0a03ed2..18bebd5 100644
--- a/sys/net80211/ieee80211_adhoc.c
+++ b/sys/net80211/ieee80211_adhoc.c
@@ -371,7 +371,10 @@ adhoc_input(struct ieee80211_node *ni, struct mbuf *m,
/*
* Validate the bssid.
*/
- if (!IEEE80211_ADDR_EQ(bssid, vap->iv_bss->ni_bssid) &&
+ if (!(type == IEEE80211_FC0_TYPE_MGT &&
+ (subtype == IEEE80211_FC0_SUBTYPE_BEACON ||
+ subtype == IEEE80211_FC0_SUBTYPE_PROBE_RESP)) &&
+ !IEEE80211_ADDR_EQ(bssid, vap->iv_bss->ni_bssid) &&
!IEEE80211_ADDR_EQ(bssid, ifp->if_broadcastaddr)) {
/* not interested in */
IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_INPUT,
OpenPOWER on IntegriCloud