diff options
author | adrian <adrian@FreeBSD.org> | 2016-06-25 20:31:20 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2016-06-25 20:31:20 +0000 |
commit | 8c02f1341768e98505267de6ae1ff4b016732465 (patch) | |
tree | bf4c50b8f0cdf3d696cbadb8a7eaebf3a60f8b40 | |
parent | 89e7e127596d1f7ed274816d890a0409f55bd788 (diff) | |
download | FreeBSD-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.c | 5 |
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, |