aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAshok Nagarajan <ashok@cozybit.com>2012-02-28 20:04:08 -0500
committerJohn W. Linville <linville@tuxdriver.com>2012-03-05 15:23:15 -0500
commit5533513784a88049e19dd2ab380a452b61e5171e (patch)
tree8e48d0cf30f3e94475ee80479308e98908b3c0bc /include
parent5809802180b2b638762465cbad3f51a9ac8ff0b3 (diff)
{nl,cfg,mac}80211: Implement RSSI threshold for mesh peering
Mesh peer links are established only if average rssi of the peer candidate satisfies the threshold. This is not in 802.11s specification but was requested by David Fulgham, an open80211s user. This is a way to avoid marginal peer links with stations that are barely within range. This patch adds a new mesh configuration parameter, mesh_rssi_threshold. This feature is supported only for hardwares that report signal in dBm. Signed-off-by: Ashok Nagarajan <ashok@cozybit.com> Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nl80211.h5
-rw-r--r--include/net/cfg80211.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index be35a68746a7..38fda5ee57f5 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -2112,6 +2112,10 @@ enum nl80211_mntr_flags {
2112 * @NL80211_MESHCONF_FORWARDING: set Mesh STA as forwarding or non-forwarding 2112 * @NL80211_MESHCONF_FORWARDING: set Mesh STA as forwarding or non-forwarding
2113 * or forwarding entity (default is TRUE - forwarding entity) 2113 * or forwarding entity (default is TRUE - forwarding entity)
2114 * 2114 *
2115 * @NL80211_MESHCONF_RSSI_THRESHOLD: RSSI threshold in dBm. This specifies the
2116 * threshold for average signal strength of candidate station to establish
2117 * a peer link.
2118 *
2115 * @NL80211_MESHCONF_ATTR_MAX: highest possible mesh configuration attribute 2119 * @NL80211_MESHCONF_ATTR_MAX: highest possible mesh configuration attribute
2116 * 2120 *
2117 * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use 2121 * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
@@ -2137,6 +2141,7 @@ enum nl80211_meshconf_params {
2137 NL80211_MESHCONF_GATE_ANNOUNCEMENTS, 2141 NL80211_MESHCONF_GATE_ANNOUNCEMENTS,
2138 NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL, 2142 NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL,
2139 NL80211_MESHCONF_FORWARDING, 2143 NL80211_MESHCONF_FORWARDING,
2144 NL80211_MESHCONF_RSSI_THRESHOLD,
2140 2145
2141 /* keep last */ 2146 /* keep last */
2142 __NL80211_MESHCONF_ATTR_AFTER_LAST, 2147 __NL80211_MESHCONF_ATTR_AFTER_LAST,
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 0178c7489373..b4e015c90885 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -809,6 +809,7 @@ struct mesh_config {
809 * Still keeping the same nomenclature to be in sync with the spec. */ 809 * Still keeping the same nomenclature to be in sync with the spec. */
810 bool dot11MeshGateAnnouncementProtocol; 810 bool dot11MeshGateAnnouncementProtocol;
811 bool dot11MeshForwarding; 811 bool dot11MeshForwarding;
812 s32 rssi_threshold;
812}; 813};
813 814
814/** 815/**