Re: [softmac-dev] [PATCH] ieee80211_rx_any: filter out packets,call ieee80211_rx or ieee80211_rx_mgt

From: Johannes Berg
Date: Mon Jan 23 2006 - 13:39:51 EST


On Sun, 2006-01-22 at 14:04 +0200, Denis Vlasenko wrote:
> + hdr = (struct ieee80211_hdr_4addr *)skb->data;:
> + fc = le16_to_cpu(hdr->frame_ctl);:
> +:
> + switch (fc & IEEE80211_FCTL_FTYPE) {:
> + case IEEE80211_FTYPE_MGMT:
> + ieee80211_rx_mgt(ieee, hdr, stats);:
> + return 0;:

Shouldn't you BSS-filter management packets too?

> + is_packet_for_us = 0;:
> + switch (ieee->iw_mode) {:
> + case IW_MODE_ADHOC:
> + /* promisc: get all */
> + if (ieee->dev->flags & IFF_PROMISC):
> + is_packet_for_us = 1;

And I still think BSS-filtering is correct even in the promisc case. Any
other opinions why either way is right or not? [I think we should filter
because upper layers won't know the packet wasn't for us if it was
broadcast in another BSSID]

johannes

Attachment: signature.asc
Description: This is a digitally signed message part