Search Linux Wireless

[PATCH v4 0/5] mac80211: beacon filtering

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Here's my proposal how to implement beacon filtering in mac80211. The
basic idea is simple, the driver enables filtering whenever mac80211
enables power save and the driver calls ieee80211_beacon_loss()
whenever hardware informs about beacon loss.

I have tested this with stlc45xx (with beacon filtering) and iwl3945
(without beacon filtering) and based on simple tests this seems to
work. For reference I'll send the stlc45xx patch as a followup.

v4:

o remove hw parameter from ieee80211_beacon_loss()
o don't call the patchset RFC anymore

v3:
o rebase to 2.6.29-rc8-wl
o add cfg80211_hold_bss() and cfg80211_unhold_bss() to avoid loosing
  the bss struct when beacon filter is enabled
o fix bug to use !IEEE80211_HW_PS_NULLFUNC_STACK both in
  ieee80211_scan_ps_enable() and ieee80211_scan_ps_disable(), also
  improve comments
o fix the indentation in ieee80211_associated(), not visible in patch
  anymore:

    mod_timer(&ifmgd->timer, jiffies +
    -				      IEEE80211_MONITORING_INTERVAL);
    +			  IEEE80211_MONITORING_INTERVAL);

o add vif parameter to void ieee80211_beacon_loss()
o more documentation about filtering, and especially about
  checksumming
o document why multicast check is needed in ieee80211_sta_rx_notify()
o beacon filter is only enabled when power save is enabled, take this
  into account in ieee80211_associated()

v2:
o rebase to 2.6.29-rc7-wl
o rename ieee80211_rx_trigger() to ieee80211_sta_rx_notify()
o move check for sta mode in ieee80211_sta_rx_notify() to rx.c
o move unicast check from rx.c to ieee80211_sta_rx_notify()
o add comment for setting last_beacon in ieee80211_rx_mgmt_assoc_resp()
o rename IEEE80211_HW_BEACON_FILTERING to IEEE80211_HW_BEACON_FILTER
o send probe request from ieee80211_beacon_loss_work()
o API documentation
o enable beacon filtering only when power save is enabled
o disable power save (and hence beacon filtering) while scanning to make 
  it possible to have reliable scan results even when beacon filtering
  is enabled

TODO: 

(none)

For the future:

o configuration for beacon filter (beacon misses * beacon interval
  should be constant?)
o don't run ieee80211_associated() in data idle period

---

Kalle Valo (5):
      mac80211: add beacon filtering support
      cfg80211: add feature to hold bss
      mac80211: disable power save when scanning
      mac80211: track beacons separately from the rx path activity
      mac80211: decrease execution of the associated timer


 Documentation/DocBook/mac80211.tmpl |    6 ++
 include/net/cfg80211.h              |   18 +++++
 include/net/mac80211.h              |   45 ++++++++++-
 net/mac80211/ieee80211_i.h          |    5 +
 net/mac80211/iface.c                |    3 +
 net/mac80211/mlme.c                 |  139 +++++++++++++++++++++++++++--------
 net/mac80211/rx.c                   |    9 ++
 net/mac80211/scan.c                 |   64 ++++++++++++++++
 net/wireless/core.h                 |    2 +
 net/wireless/scan.c                 |   27 +++++++
 10 files changed, 278 insertions(+), 40 deletions(-)

--
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

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux