On Thursday 06 September 2007, Johannes Berg wrote: > Drivers are currently supposed to keep track of monitor > interfaces if they allow so-called "hard" monitor, and > they are also supposed to keep track of multicast etc. > > This patch changes that, replaces the set_multicast_list() > callback with a new configure_filter() callback that takes > filter flags (FIF_*) instead of interface flags (IFF_*). > For a driver, this means it should open the filter as much > as necessary to get all frames requested by the filter flags. > Accordingly, the filter flags are named "positively", e.g. > FIF_ALLMULTI. > > Multicast filtering is a bit special, which is why drivers > that do not require FIF_ALLMULTI for multicast address filters > (i.e. they actually have filters for multicast addresses) > need to set the new IEEE80211_HW_MULTICAST_FILTER flag and > call the get_mc_item() function passed to the configure_filter > callback. > > At the same time, drivers are no longer notified about > monitor interfaces at all, this means they now need to > implement the start() and stop() callbacks and the new > change_filter_flags() callback. Also, the start()/stop() > ordering changed, start() is now called *before* any > add_interface() as it really should be, and stop() after > any remove_interface(). > > The patch also changes the behaviour of setting the bssid > to multicast for scanning when IEEE80211_HW_NO_PROBE_FILTERING > is set; the IEEE80211_HW_NO_PROBE_FILTERING flag is removed > and the filter flag FIF_BCN_PRBRESP_PROMISC introduced. > This is a lot more efficient for hardware like b43 that > supports it and other hardware can still set the BSSID > to all-ones. > > Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> > Cc: Larry Finger <larry.finger@xxxxxxxxxxxx> > Cc: Michael Wu <flamingice@xxxxxxxxxxxx> > Cc: Zhu Yi <yi.zhu@xxxxxxxxx> > Cc: Tomas Winkler <tomasw@xxxxxxxxx> > Cc: Michael Buesch <mb@xxxxxxxxx> > Cc: Ulrich Kunitz <kune@xxxxxxxxxxxxxx> > Cc: Daniel Drake <dsd@xxxxxxxxxx> > Cc: Ivo van Doorn <ivdoorn@xxxxxxxxx> > Cc: rt2400-devel@xxxxxxxxxxxxxxxxxxxxx > Cc: Li YanBo <dreamfly281@xxxxxxxxx> The b43 changes are Signed-off-by: Michael Buesch <mb@xxxxxxxxx> - 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