aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/cfg.c
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 /net/mac80211/cfg.c
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 'net/mac80211/cfg.c')
-rw-r--r--net/mac80211/cfg.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 6a77d4c910f9..ab31cc56a2fb 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -1314,6 +1314,14 @@ static int ieee80211_update_mesh_config(struct wiphy *wiphy,
1314 } 1314 }
1315 if (_chg_mesh_attr(NL80211_MESHCONF_FORWARDING, mask)) 1315 if (_chg_mesh_attr(NL80211_MESHCONF_FORWARDING, mask))
1316 conf->dot11MeshForwarding = nconf->dot11MeshForwarding; 1316 conf->dot11MeshForwarding = nconf->dot11MeshForwarding;
1317 if (_chg_mesh_attr(NL80211_MESHCONF_RSSI_THRESHOLD, mask)) {
1318 /* our RSSI threshold implementation is supported only for
1319 * devices that report signal in dBm.
1320 */
1321 if (!(sdata->local->hw.flags & IEEE80211_HW_SIGNAL_DBM))
1322 return -ENOTSUPP;
1323 conf->rssi_threshold = nconf->rssi_threshold;
1324 }
1317 return 0; 1325 return 0;
1318} 1326}
1319 1327