aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2003-06-03 04:10:58 (GMT)
committerJouni Malinen <j@w1.fi>2003-06-03 04:10:58 (GMT)
commitaaa06b795f4ce702d4789cce2ef227621f65b633 (patch)
treebcf43336056375388e38c38b71872bf273363fda
parent49b9ac533e845e1407f73111bf413b3ec796b204 (diff)
downloadhostap-history-aaa06b795f4ce702d4789cce2ef227621f65b633.zip
hostap-history-aaa06b795f4ce702d4789cce2ef227621f65b633.tar.gz
hostap-history-aaa06b795f4ce702d4789cce2ef227621f65b633.tar.bz2
Fixed ap_bridge_packets to use correct destination address (local copy,
instead of addr3 from modified header). This fixes bridging frames between two associated STAs.
-rw-r--r--driver/modules/hostap_80211_rx.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/driver/modules/hostap_80211_rx.c b/driver/modules/hostap_80211_rx.c
index ad55154..46f79ee 100644
--- a/driver/modules/hostap_80211_rx.c
+++ b/driver/modules/hostap_80211_rx.c
@@ -796,7 +796,7 @@ void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
if (local->iw_mode == IW_MODE_MASTER && !wds &&
local->ap->bridge_packets) {
- if (hdr->addr3[0] & 0x01) {
+ if (dst[0] & 0x01) {
/* copy multicast frame both to the higher layers and
* to the wireless media */
local->ap->bridged_multicast++;
@@ -804,7 +804,7 @@ void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
if (skb2 == NULL)
printk(KERN_DEBUG "%s: skb_clone failed for "
"multicast frame\n", dev->name);
- } else if (hostap_is_sta_assoc(local->ap, hdr->addr3)) {
+ } else if (hostap_is_sta_assoc(local->ap, dst)) {
/* send frame directly to the associated STA using
* wireless media and not passing to higher layers */
local->ap->bridged_unicast++;