diff options
author | sam <sam@FreeBSD.org> | 2008-12-15 00:47:24 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2008-12-15 00:47:24 +0000 |
commit | 7c6e6cbb8668ee34ff964d9ab56ec0bc6057fcef (patch) | |
tree | 09c964e04408351b9535e90131b572afdf85e9cf /sys/net80211/ieee80211_hostap.c | |
parent | 819cfeddfd7ca190b737ef52616ea886bc3a3084 (diff) | |
download | FreeBSD-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.c | 10 |
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; |