Search Linux Wireless

[RFCv3 0/5] mesh power save - basics

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

 



The following commits cover the basic subset of functions, that each mesh node
must support to communicate in the presence of power saving nodes.
The current patchset does not implement any actual power savings yet (no
hardware configuration, no doze state).

Mesh powersave is different from client mode powersave in the sense that
1) there is not just a singular power mode towards the access point, but a
   link-specific power mode towards each peer instead
2) peers also maintain a power mode towards us (the local STA)
3) each node has to buffer frames towards power saving neighbors

v3:
- default DTIM period of 1
- merged patches together
- common function name pattern
- else if in local_ps_update
- rcu_read_lock in local_ps_update
- re-order variables to reduce padding
- fix More Data flag setting
- minimum beacon interval of 10
- int for counting light and deep sleep peers
- all line breaks on strong indentation
- indentation fixes
- ieee80211_has_qos_pm -> ieee80211_has_qos_mesh_ps
- return 0 in mesh_nexthop_resolve
- fix typos
- typecasts to void
- reject settting local PS mode setting to unknown
- compare with NL80211_MESH_POWER_MAX
- moved purging of BC buffer after STA flush
- preferred use of ieee80211_vif_is_mesh
- range check of mesh config parameters

not done yet:
- authenticated mesh peering with nodes in PS mode

Marco Porsch (5):
  {nl,cfg,mac}80211: set beacon interval and DTIM period on mesh join
  cfg80211: mesh power mode primitives
  mac80211: move add_tim to subfunction
  mac80211: mesh power save basics
  nl80211: allow userspace to access mesh power mode parameters

 include/linux/ieee80211.h     |   17 ++
 include/net/cfg80211.h        |   25 ++
 include/uapi/linux/nl80211.h  |   47 +++
 net/mac80211/Kconfig          |   11 +
 net/mac80211/Makefile         |    3 +-
 net/mac80211/cfg.c            |   25 +-
 net/mac80211/debug.h          |   10 +
 net/mac80211/debugfs_netdev.c |    5 +
 net/mac80211/debugfs_sta.c    |    5 +-
 net/mac80211/ieee80211_i.h    |    7 +
 net/mac80211/mesh.c           |   37 ++-
 net/mac80211/mesh.h           |   23 +-
 net/mac80211/mesh_hwmp.c      |    7 +
 net/mac80211/mesh_pathtbl.c   |    1 +
 net/mac80211/mesh_plink.c     |   21 ++
 net/mac80211/mesh_ps.c        |  630 +++++++++++++++++++++++++++++++++++++++++
 net/mac80211/rx.c             |   22 ++
 net/mac80211/sta_info.c       |   18 +-
 net/mac80211/sta_info.h       |   17 ++
 net/mac80211/status.c         |    5 +
 net/mac80211/tx.c             |   81 ++++--
 net/mac80211/util.c           |    4 +
 net/mac80211/wme.c            |   13 +-
 net/wireless/mesh.c           |    8 +
 net/wireless/nl80211.c        |   57 +++-
 25 files changed, 1059 insertions(+), 40 deletions(-)
 create mode 100644 net/mac80211/mesh_ps.c

-- 
1.7.9.5

--
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 Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux