summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_hostap.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2008-12-15 00:47:24 +0000
committersam <sam@FreeBSD.org>2008-12-15 00:47:24 +0000
commit7c6e6cbb8668ee34ff964d9ab56ec0bc6057fcef (patch)
tree09c964e04408351b9535e90131b572afdf85e9cf /sys/net80211/ieee80211_hostap.c
parent819cfeddfd7ca190b737ef52616ea886bc3a3084 (diff)
downloadFreeBSD-src-7c6e6cbb8668ee34ff964d9ab56ec0bc6057fcef.zip
FreeBSD-src-7c6e6cbb8668ee34ff964d9ab56ec0bc6057fcef.tar.gz
Replace adhoc checks in ieee80211_start with a per-node flag that
indicates if an association id is required before outbound traffic is permitted. This cleans up the previous change that broke mcast traffic "to the stack" in ap mode as a side effect. Reviewed by: sephe, thompsa, weongyo
Diffstat (limited to 'sys/net80211/ieee80211_hostap.c')
-rw-r--r--sys/net80211/ieee80211_hostap.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_hostap.c b/sys/net80211/ieee80211_hostap.c
index 60cbe4b..4ff8903 100644
--- a/sys/net80211/ieee80211_hostap.c
+++ b/sys/net80211/ieee80211_hostap.c
@@ -928,6 +928,11 @@ hostap_auth_open(struct ieee80211_node *ni, struct ieee80211_frame *wh,
* after the transaction completes.
*/
ni->ni_flags |= IEEE80211_NODE_AREF;
+ /*
+ * Mark the node as requiring a valid associatio id
+ * before outbound traffic is permitted.
+ */
+ ni->ni_flags |= IEEE80211_NODE_ASSOCID;
if (vap->iv_acl != NULL &&
vap->iv_acl->iac_getpolicy(vap) == IEEE80211_MACCMD_POLICY_RADIUS) {
@@ -1054,6 +1059,11 @@ hostap_auth_shared(struct ieee80211_node *ni, struct ieee80211_frame *wh,
* after the transaction completes.
*/
ni->ni_flags |= IEEE80211_NODE_AREF;
+ /*
+ * Mark the node as requiring a valid associatio id
+ * before outbound traffic is permitted.
+ */
+ ni->ni_flags |= IEEE80211_NODE_ASSOCID;
IEEE80211_RSSI_LPF(ni->ni_avgrssi, rssi);
ni->ni_noise = noise;
ni->ni_rstamp = rstamp;
OpenPOWER on IntegriCloud