Search Linux Wireless

Re: [PATCH] mac80211: as a 4-addr station, do not receive packets for other stations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2011-02-05 at 23:48 +0100, Felix Fietkau wrote:
> Since 4-addr frames completely override the source address which will
> make it into the converted 802.3 frames, receiving frames for other
> 4-addr stations will confuse the bridging code.
> 
> To be able to handle traffic for all connected devices, the bridge
> code will automatically turn on promiscuous mode, which triggers
> this problem.
> 
> Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
> Reported-by: Steve Brown <sbrown@xxxxxxxxxxxx>
> ---
>  net/mac80211/rx.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
> index b5f59ed..50c2c88 100644
> --- a/net/mac80211/rx.c
> +++ b/net/mac80211/rx.c
> @@ -2646,7 +2646,8 @@ static int prepare_for_handlers(struct ieee80211_rx_data *rx,
>  			return 0;
>  		if (!multicast &&
>  		    compare_ether_addr(sdata->vif.addr, hdr->addr1) != 0) {
> -			if (!(sdata->dev->flags & IFF_PROMISC))
> +			if (!(sdata->dev->flags & IFF_PROMISC) ||
> +			    sdata->u.mgd.use_4addr)
>  				return 0;
>  			status->rx_flags &= ~IEEE80211_RX_RA_MATCH;
>  		}
Tested:

computer1->sta1->ap->sta2->computer2

Thanks,

Steve


--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux