On Fri, 2007-08-03 at 17:09 +0200, Ivo van Doorn wrote: > On Friday 03 August 2007, Johannes Berg wrote: > > On Tue, 2007-07-31 at 20:37 +0200, Ivo van Doorn wrote: > > > > > + if (is_monitor_present(intf)) { > > > + filter = IFF_PROMISC | IFF_MULTICAST | IFF_BROADCAST; > > > + if (intf->filter != filter) > > > + __set_bit(PACKET_FILTER_PENDING, &rt2x00dev->flags); > > > + } > > > > Don't do that. There's no requirement that monitor mode interfaces > > always be promisc. Also, earlier in the code: > > Note that this "Enable promisc" on monitor mode here will only be send to > the device. It does not mean that the non-monitor mode will have promisc > mode enabled. In fact, when the monitor interface goes down, the normal > setting will be used again. > If with monitor mode, IFF_PROMISC is not send to the device, monitor > mode is useless since it will not catch anything except beacons > (Especially true when you only have 1 interface which is in monitor mode) But don't you allow monitoring during operation? In that case this would make that monitor interface always promisc which isn't what you want unless you set the promisc bit on any of the interfaces. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part