1. 29 1月, 2008 1 次提交
  2. 11 10月, 2007 1 次提交
    • J
      [PATCH] mac80211: revamp interface and filter configuration · 4150c572
      Johannes Berg 提交于
      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 in that drivers that
      have no multicast address filters need to allow multicast
      frames through when either the FIF_ALLMULTI flag is set or
      when the mc_count value is positive.
      
      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.
      
      Driver modifications by Johannes Berg (b43 & iwlwifi), Michael Wu
      (rtl8187, adm8211, and p54), Larry Finger (b43legacy), and
      Ivo van Doorn (rt2x00).
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NMichael Wu <flamingice@sourmilk.net>
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      4150c572
  3. 09 7月, 2007 2 次提交