WDS Bug
Mike Saywell
ms
Wed Nov 13 17:50:36 PST 2002
Hi,
I've been using the following setup:
+---+ +---+
| A | <-- WDS --> | B |
+---+ +---+
/ \ |
/ \ |
*---* *---* *---*
| 1 | | 2 | | 3 |
*---* *---* *---*
A and B are APs and 1, 2 and 3 are STAs. All links are via 802.11b.
The problem is that [1] and [2] cant talk to [B] unless ap_bridge_packets
is set to 0. However if you do this then [1] can't talk to [2] because
the ethernet bridging code, which is designed for wired networks,
assumes that [2] would have seen packets from [1] because they're on
the same interface.
I managed to fix the problem by commenting out this block of code from
hostap_ap.c (approx line 1,600).
if (memcmp(rxdesc->addr1, dev->dev_addr, 6)) {
PDEBUG(DEBUG_AP, "handle_pspoll - addr1(BSSID)=" MACSTR
" not own MAC\n", MAC2STR(rxdesc->addr1));
return;
}
After removing that I get full connectivity with ap_bridge_packets set
to 1.
Anyway, I guess skipping the check entirely isn't the best of ideas,
but I'll leave that bit to you guys... :)
Thanks,
Mike Saywell,
University Of Southampton
More information about the Hostap
mailing list