linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kalle Valo <kalle.valo@iki.fi>
To: "John W. Linville" <linville@tuxdriver.com>
Cc: Johannes Berg <johannes@sipsolutions.net>,
	Jouni Malinen <j@w1.fi>,
	"Luis R. Rodriguez" <lrodriguez@atheros.com>,
	linux-wireless@vger.kernel.org
Subject: [PATCH v4 0/5] mac80211: beacon filtering
Date: Sun, 22 Mar 2009 21:56:59 +0200	[thread overview]
Message-ID: <20090322195619.26460.48292.stgit@tikku> (raw)

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


             reply	other threads:[~2009-03-22 19:57 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-22 19:56 Kalle Valo [this message]
2009-03-22 19:57 ` [PATCH v4 1/5] mac80211: decrease execution of the associated timer Kalle Valo
2009-03-22 19:57 ` [PATCH v4 2/5] mac80211: track beacons separately from the rx path activity Kalle Valo
2009-03-22 19:57 ` [PATCH v4 3/5] mac80211: disable power save when scanning Kalle Valo
2009-03-22 19:57 ` [PATCH v4 4/5] cfg80211: add feature to hold bss Kalle Valo
2009-03-22 19:57 ` [PATCH v4 5/5] mac80211: add beacon filtering support Kalle Valo
2009-03-22 20:02 ` [PATCH] stlc45xx: " Kalle Valo
2009-03-22 20:15 ` [PATCH v4 0/5] mac80211: beacon filtering Johannes Berg
2009-03-22 20:29   ` Kalle Valo
2009-03-24 13:11 ` Johannes Berg
2009-03-25  9:01   ` Kalle Valo
2009-03-25  9:30     ` Johannes Berg
2009-03-25 19:34       ` Kalle Valo
2009-03-25 19:40         ` Johannes Berg
2009-03-25 20:08           ` Kalle Valo
2009-03-25 20:17             ` Johannes Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090322195619.26460.48292.stgit@tikku \
    --to=kalle.valo@iki.fi \
    --cc=j@w1.fi \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=lrodriguez@atheros.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).