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