diff options
author | Colleen Twitty <colleen@cozybit.com> | 2013-06-03 12:53:40 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-06-11 08:16:29 -0400 |
commit | 66de671374f003467b5ef7c65ecbe1930480c8c9 (patch) | |
tree | 1cf849085a6c8b7c0aeb1b2329dbf53c8c605f73 /net/mac80211 | |
parent | 8e7c053853b7d299e8a2b8733659b0df8eee51f7 (diff) |
mac80211: expire mesh peers based on mesh configuration
The time it takes to see the peer link expire may differ
by a minute since sta_expire() is run once a minute as a
mesh housekeeping task.
Signed-off-by: Colleen Twitty <colleen@cozybit.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/cfg.c | 2 | ||||
-rw-r--r-- | net/mac80211/mesh.c | 2 | ||||
-rw-r--r-- | net/mac80211/mesh.h | 1 |
3 files changed, 3 insertions, 2 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 30622101d3b5..344a57968079 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c | |||
@@ -1871,6 +1871,8 @@ static int ieee80211_update_mesh_config(struct wiphy *wiphy, | |||
1871 | if (_chg_mesh_attr(NL80211_MESHCONF_AWAKE_WINDOW, mask)) | 1871 | if (_chg_mesh_attr(NL80211_MESHCONF_AWAKE_WINDOW, mask)) |
1872 | conf->dot11MeshAwakeWindowDuration = | 1872 | conf->dot11MeshAwakeWindowDuration = |
1873 | nconf->dot11MeshAwakeWindowDuration; | 1873 | nconf->dot11MeshAwakeWindowDuration; |
1874 | if (_chg_mesh_attr(NL80211_MESHCONF_PLINK_TIMEOUT, mask)) | ||
1875 | conf->plink_timeout = nconf->plink_timeout; | ||
1874 | ieee80211_mbss_info_change_notify(sdata, BSS_CHANGED_BEACON); | 1876 | ieee80211_mbss_info_change_notify(sdata, BSS_CHANGED_BEACON); |
1875 | return 0; | 1877 | return 0; |
1876 | } | 1878 | } |
diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c index d5faf91632c1..4ee527f78677 100644 --- a/net/mac80211/mesh.c +++ b/net/mac80211/mesh.c | |||
@@ -575,7 +575,7 @@ static void ieee80211_mesh_housekeeping(struct ieee80211_sub_if_data *sdata) | |||
575 | struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; | 575 | struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; |
576 | u32 changed; | 576 | u32 changed; |
577 | 577 | ||
578 | ieee80211_sta_expire(sdata, IEEE80211_MESH_PEER_INACTIVITY_LIMIT); | 578 | ieee80211_sta_expire(sdata, ifmsh->mshcfg.plink_timeout * HZ); |
579 | mesh_path_expire(sdata); | 579 | mesh_path_expire(sdata); |
580 | 580 | ||
581 | changed = mesh_accept_plinks_update(sdata); | 581 | changed = mesh_accept_plinks_update(sdata); |
diff --git a/net/mac80211/mesh.h b/net/mac80211/mesh.h index 8b4d9a3e9eee..01a28bca6e9b 100644 --- a/net/mac80211/mesh.h +++ b/net/mac80211/mesh.h | |||
@@ -188,7 +188,6 @@ struct mesh_rmc { | |||
188 | u32 idx_mask; | 188 | u32 idx_mask; |
189 | }; | 189 | }; |
190 | 190 | ||
191 | #define IEEE80211_MESH_PEER_INACTIVITY_LIMIT (1800 * HZ) | ||
192 | #define IEEE80211_MESH_HOUSEKEEPING_INTERVAL (60 * HZ) | 191 | #define IEEE80211_MESH_HOUSEKEEPING_INTERVAL (60 * HZ) |
193 | 192 | ||
194 | #define MESH_PATH_EXPIRE (600 * HZ) | 193 | #define MESH_PATH_EXPIRE (600 * HZ) |