2010-05-31 21:26:20

by doddel

[permalink] [raw]
Subject: mac80211 rx.c: in recent builds bridging between stations associated to an AP does not work

bridging used to work between stations associated to one AP with a compilation
of a Nov 2009; now it doesn't.
(using RouterStation platform with three radios and ath9k drivers,
compat-wireless of May 24 2010; routing between the radios works fine;
communication between stations via one AP does not work).

The only change I could find in the code that is relevant for this has been part
of patch "cfg80211: introduce capability for 4addr mode", and possibly earlier
changes to this piece of code related to 4addr:

@@ -1245,7 +1248,8 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx)
if ((sdata->vif.type == NL80211_IFTYPE_AP ||
sdata->vif.type == NL80211_IFTYPE_AP_VLAN) &&
!(sdata->flags & IEEE80211_SDATA_DONT_BRIDGE_PACKETS) &&
- (rx->flags & IEEE80211_RX_RA_MATCH) && !rx->sdata->use_4addr) {
+ (rx->flags & IEEE80211_RX_RA_MATCH) &&
+ (sdata->vif.type != NL80211_IFTYPE_AP_VLAN || !sdata->u.vlan.sta)) {
if (is_multicast_ether_addr(ehdr->h_dest)) {
/*
* send multicast frames both to higher layers in

Once I force a station to do a SNAT action on its wireless, pretending that the
packets stem from another subnet than the actual subnet of the wireless, the
communication is reestablished if the AP and other station know how to route
answers back to this modified subnet.

Somehow in these tests above a false is produced where a true is needed in a
basic setup (legacy 11a, one AP with multiple stations).




2010-06-01 15:45:52

by Felix Fietkau

[permalink] [raw]
Subject: Re: mac80211 rx.c: in recent builds bridging between stations associated to an AP does not work

On 2010-06-01 5:38 PM, doddel wrote:
> The effect may be caused by the newly introduced capability to set the
> DO_NOT_BRIDGE parameter via nl80211 (thanks for that !).
> The user-space tool iw however does not yet support setting this parameter.
So do you mean that you enabled this option in your wireless config and
now it took effect?
Or did you mean that you did not enable this option, however for some
reason it's still active even though it should not be?

- Felix

2010-06-01 15:39:08

by doddel

[permalink] [raw]
Subject: Re: mac80211 rx.c: in recent builds bridging between stations associated to an AP does not work

The effect may be caused by the newly introduced capability to set the
DO_NOT_BRIDGE parameter via nl80211 (thanks for that !).
The user-space tool iw however does not yet support setting this parameter.