[PATCH] mesh: Remove mesh station after link is closed
Saurav Babu
saurav.babu at samsung.com
Tue Sep 5 21:31:34 PDT 2017
Mesh peering manager maintains links among mesh peers, but when link is
closed then it doesn't remove station due to which station is always
present in connected peer list. This patch registers timeout after state
is changed to PLINK_HOLDING so that station can be removed after timeout
is expired
Signed-off-by: Saurav Babu <saurav.babu at samsung.com>
---
wpa_supplicant/mesh_mpm.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/wpa_supplicant/mesh_mpm.c b/wpa_supplicant/mesh_mpm.c
index cf7107e..b369743 100644
--- a/wpa_supplicant/mesh_mpm.c
+++ b/wpa_supplicant/mesh_mpm.c
@@ -487,13 +487,16 @@ static int mesh_mpm_plink_close(struct hostapd_data *hapd, struct sta_info *sta,
{
struct wpa_supplicant *wpa_s = ctx;
int reason = WLAN_REASON_MESH_PEERING_CANCELLED;
+ struct mesh_conf *conf = wpa_s->ifmsh->mconf;
if (sta) {
wpa_mesh_set_plink_state(wpa_s, sta, PLINK_HOLDING);
+ eloop_register_timeout(conf->dot11MeshHoldingTimeout / 1000,
+ (conf->dot11MeshHoldingTimeout % 1000) * 1000,
+ plink_timer, wpa_s, sta);
mesh_mpm_send_plink_action(wpa_s, sta, PLINK_CLOSE, reason);
wpa_printf(MSG_DEBUG, "MPM closing plink sta=" MACSTR,
MAC2STR(sta->addr));
- eloop_cancel_timeout(plink_timer, wpa_s, sta);
return 0;
}
--
1.9.1
More information about the Hostap
mailing list