Search Linux Wireless

[RFC v2 1/8] cfg80211 and nl80211: mesh power mode config parameter

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

 



According to IEEE80211s standard a mesh STA maintains a mesh power
modefor non-peer mesh STAs. Non-peer mesh power mode is a mesh
configurationparameter so it should be presented in mesh_config
structure. Possiblevalues for mesh power mode are presented in
nl80211_mesh_power_modeenumeration. These modes are active, light
sleep and deep sleep.
Signed-off-by: Ivan Bezyazychnyy
<ivan.bezyazychnyy@xxxxxxxxx>Signed-off-by: Mike Krinkin
<krinkin.m.u@xxxxxxxxx>--- include/linux/nl80211.h |   29
+++++++++++++++++++++++++++++ include/net/cfg80211.h  |    2 ++
net/wireless/mesh.c     |    1 + 3 files changed, 32 insertions(+), 0
deletions(-)
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.hindex
8049bf7..001e9e3 100644--- a/include/linux/nl80211.h+++
b/include/linux/nl80211.h@@ -1915,6 +1915,35 @@ enum
nl80211_mntr_flags { };  /**+ * enum nl80211_mesh_power_mode - mesh
power save modes+ *+ * @__NL80211_MESH_POWER_INVALID - internal use+
*+ * @NL80211_MESH_POWER_ACTIVE - active mesh power mode, mesh STA+ *
                          in Awake state all the time+ *
@NL80211_MESH_POWER_LIGHT_SLEEP - light sleep mode, mesh STA+ *
                    alternate between Active and Doze states,+ *
                     mesh STA should listen to all the beacons+ *
@NL80211_MESH_POWER_DEEP_SLEEP - deep sleep mode, mesh STA+ *
                  alternates between Active and Doze states,+ *
                    may choose not listen to the beacons+ *+ *
@__NL80211_MESH_POWER_AFTER_LAST - internal use+ *
@NL80211_MESH_POWER_MAX - highest possible power save level+ */++enum
nl80211_mesh_power_mode
{+	__NL80211_MESH_POWER_INVALID,++	NL80211_MESH_POWER_ACTIVE,+	NL80211_MESH_POWER_LIGHT_SLEEP,+	NL80211_MESH_POWER_DEEP_SLEEP,++	__NL80211_MESH_POWER_AFTER_LAST,+	NL80211_MESH_POWER_MAX
= __NL80211_MESH_POWER_AFTER_LAST - 1+};++/**  * enum
nl80211_meshconf_params - mesh configuration parameters  *  * Mesh
configuration parameters. These can be changed while the mesh isdiff
--git a/include/net/cfg80211.h b/include/net/cfg80211.hindex
92cf1c2..e00e04e 100644--- a/include/net/cfg80211.h+++
b/include/net/cfg80211.h@@ -765,6 +765,8 @@ struct mesh_config { 	u16
dot11MeshMaxPeerLinks; 	u8  dot11MeshMaxRetries; 	u8
dot11MeshTTL;+	/* non-peer mesh power save mode */+	u8 power_mode; 	/*
ttl used in path selection information elements */ 	u8  element_ttl;
	bool auto_open_plinks;diff --git a/net/wireless/mesh.c
b/net/wireless/mesh.cindex 4423e64..5febd0b 100644---
a/net/wireless/mesh.c+++ b/net/wireless/mesh.c@@ -52,6 +52,7 @@ const
struct mesh_config default_mesh_config = { 	.min_discovery_timeout =
MESH_MIN_DISCOVERY_TIMEOUT, 	.dot11MeshHWMPRannInterval =
MESH_RANN_INTERVAL, 	.dot11MeshGateAnnouncementProtocol =
false,+	.power_mode = NL80211_MESH_POWER_ACTIVE, };  const struct
mesh_setup default_mesh_setup = {-- 1.7.3.4
--
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