diff options
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/mesh.c | 3 | ||||
-rw-r--r-- | net/wireless/nl80211.c | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/net/wireless/mesh.c b/net/wireless/mesh.c index 9d3e3b6bfcf4..ba21ab22187b 100644 --- a/net/wireless/mesh.c +++ b/net/wireless/mesh.c | |||
@@ -23,6 +23,8 @@ | |||
23 | #define MESH_PERR_MIN_INT 100 | 23 | #define MESH_PERR_MIN_INT 100 |
24 | #define MESH_DIAM_TRAVERSAL_TIME 50 | 24 | #define MESH_DIAM_TRAVERSAL_TIME 50 |
25 | 25 | ||
26 | #define MESH_RSSI_THRESHOLD 0 | ||
27 | |||
26 | /* | 28 | /* |
27 | * A path will be refreshed if it is used PATH_REFRESH_TIME milliseconds | 29 | * A path will be refreshed if it is used PATH_REFRESH_TIME milliseconds |
28 | * before timing out. This way it will remain ACTIVE and no data frames | 30 | * before timing out. This way it will remain ACTIVE and no data frames |
@@ -56,6 +58,7 @@ const struct mesh_config default_mesh_config = { | |||
56 | .dot11MeshHWMPRannInterval = MESH_RANN_INTERVAL, | 58 | .dot11MeshHWMPRannInterval = MESH_RANN_INTERVAL, |
57 | .dot11MeshGateAnnouncementProtocol = false, | 59 | .dot11MeshGateAnnouncementProtocol = false, |
58 | .dot11MeshForwarding = true, | 60 | .dot11MeshForwarding = true, |
61 | .rssi_threshold = MESH_RSSI_THRESHOLD, | ||
59 | }; | 62 | }; |
60 | 63 | ||
61 | const struct mesh_setup default_mesh_setup = { | 64 | const struct mesh_setup default_mesh_setup = { |
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 1998c3682774..25a470abd21d 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c | |||
@@ -3290,6 +3290,8 @@ static int nl80211_get_mesh_config(struct sk_buff *skb, | |||
3290 | cur_params.dot11MeshGateAnnouncementProtocol); | 3290 | cur_params.dot11MeshGateAnnouncementProtocol); |
3291 | NLA_PUT_U8(msg, NL80211_MESHCONF_FORWARDING, | 3291 | NLA_PUT_U8(msg, NL80211_MESHCONF_FORWARDING, |
3292 | cur_params.dot11MeshForwarding); | 3292 | cur_params.dot11MeshForwarding); |
3293 | NLA_PUT_U32(msg, NL80211_MESHCONF_RSSI_THRESHOLD, | ||
3294 | cur_params.rssi_threshold); | ||
3293 | nla_nest_end(msg, pinfoattr); | 3295 | nla_nest_end(msg, pinfoattr); |
3294 | genlmsg_end(msg, hdr); | 3296 | genlmsg_end(msg, hdr); |
3295 | return genlmsg_reply(msg, info); | 3297 | return genlmsg_reply(msg, info); |
@@ -3322,6 +3324,7 @@ static const struct nla_policy nl80211_meshconf_params_policy[NL80211_MESHCONF_A | |||
3322 | [NL80211_MESHCONF_HWMP_RANN_INTERVAL] = { .type = NLA_U16 }, | 3324 | [NL80211_MESHCONF_HWMP_RANN_INTERVAL] = { .type = NLA_U16 }, |
3323 | [NL80211_MESHCONF_GATE_ANNOUNCEMENTS] = { .type = NLA_U8 }, | 3325 | [NL80211_MESHCONF_GATE_ANNOUNCEMENTS] = { .type = NLA_U8 }, |
3324 | [NL80211_MESHCONF_FORWARDING] = { .type = NLA_U8 }, | 3326 | [NL80211_MESHCONF_FORWARDING] = { .type = NLA_U8 }, |
3327 | [NL80211_MESHCONF_RSSI_THRESHOLD] = { .type = NLA_U32}, | ||
3325 | }; | 3328 | }; |
3326 | 3329 | ||
3327 | static const struct nla_policy | 3330 | static const struct nla_policy |
@@ -3413,6 +3416,8 @@ do {\ | |||
3413 | nla_get_u8); | 3416 | nla_get_u8); |
3414 | FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshForwarding, | 3417 | FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshForwarding, |
3415 | mask, NL80211_MESHCONF_FORWARDING, nla_get_u8); | 3418 | mask, NL80211_MESHCONF_FORWARDING, nla_get_u8); |
3419 | FILL_IN_MESH_PARAM_IF_SET(tb, cfg, rssi_threshold, | ||
3420 | mask, NL80211_MESHCONF_RSSI_THRESHOLD, nla_get_u32); | ||
3416 | if (mask_out) | 3421 | if (mask_out) |
3417 | *mask_out = mask; | 3422 | *mask_out = mask; |
3418 | 3423 | ||