aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless/nl80211.c
diff options
context:
space:
mode:
authorChun-Yeow Yeoh <yeohchunyeow@gmail.com>2012-06-13 14:06:10 -0400
committerJohannes Berg <johannes.berg@intel.com>2012-06-18 07:55:15 -0400
commit728b19e5fb9bbebbd580784a092b786fe379ed8e (patch)
tree0b9fc795ed4063bf6a807769bebc5d115ec15313 /net/wireless/nl80211.c
parentdbb912cd4ce64e763c5610b49a85529d2634e9d8 (diff)
{nl,cfg,mac}80211: implement dot11MeshHWMPconfirmationInterval
As defined in section 13.10.9.3 Case D (802.11-2012), this control variable is used to limit the mesh STA to send only one PREQ to a root mesh STA within this interval of time (in TUs). The default value for this variable is set to 2000 TUs. However, for current implementation, the maximum configurable of dot11MeshHWMPconfirmationInterval is restricted by dot11MeshHWMPactivePathTimeout. Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com> [line-break commit log] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/nl80211.c')
-rw-r--r--net/wireless/nl80211.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index f8930db613df..a363ca17bfc5 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -3473,7 +3473,9 @@ static int nl80211_get_mesh_config(struct sk_buff *skb,
3473 nla_put_u32(msg, NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT, 3473 nla_put_u32(msg, NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT,
3474 cur_params.dot11MeshHWMPactivePathToRootTimeout) || 3474 cur_params.dot11MeshHWMPactivePathToRootTimeout) ||
3475 nla_put_u16(msg, NL80211_MESHCONF_HWMP_ROOT_INTERVAL, 3475 nla_put_u16(msg, NL80211_MESHCONF_HWMP_ROOT_INTERVAL,
3476 cur_params.dot11MeshHWMProotInterval)) 3476 cur_params.dot11MeshHWMProotInterval) ||
3477 nla_put_u16(msg, NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL,
3478 cur_params.dot11MeshHWMPconfirmationInterval))
3477 goto nla_put_failure; 3479 goto nla_put_failure;
3478 nla_nest_end(msg, pinfoattr); 3480 nla_nest_end(msg, pinfoattr);
3479 genlmsg_end(msg, hdr); 3481 genlmsg_end(msg, hdr);
@@ -3511,6 +3513,7 @@ static const struct nla_policy nl80211_meshconf_params_policy[NL80211_MESHCONF_A
3511 [NL80211_MESHCONF_HT_OPMODE] = { .type = NLA_U16 }, 3513 [NL80211_MESHCONF_HT_OPMODE] = { .type = NLA_U16 },
3512 [NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT] = { .type = NLA_U32 }, 3514 [NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT] = { .type = NLA_U32 },
3513 [NL80211_MESHCONF_HWMP_ROOT_INTERVAL] = { .type = NLA_U16 }, 3515 [NL80211_MESHCONF_HWMP_ROOT_INTERVAL] = { .type = NLA_U16 },
3516 [NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL] = { .type = NLA_U16 },
3514}; 3517};
3515 3518
3516static const struct nla_policy 3519static const struct nla_policy
@@ -3625,6 +3628,10 @@ do {\
3625 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMProotInterval, 3628 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMProotInterval,
3626 mask, NL80211_MESHCONF_HWMP_ROOT_INTERVAL, 3629 mask, NL80211_MESHCONF_HWMP_ROOT_INTERVAL,
3627 nla_get_u16); 3630 nla_get_u16);
3631 FILL_IN_MESH_PARAM_IF_SET(tb, cfg,
3632 dot11MeshHWMPconfirmationInterval, mask,
3633 NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL,
3634 nla_get_u16);
3628 if (mask_out) 3635 if (mask_out)
3629 *mask_out = mask; 3636 *mask_out = mask;
3630 3637