> However when there is high traffic between two nodes A and B, sometimes the > next hop of A and B changes to another address for a short time and the > metric gets worse. After 2 – 3 seconds the original direct next hop returns. >
There are two possibilities that I think of: 1. Node A does not receive direct PREP from node B. 2. Node B does not receive direct PREQ from node A 3. Node A received PREP from Node B via another hop which has better metric than direct PREP from node B. For 1 and 2, it may due to the link is terrible and packet are dropped. For 3, you may look on reverting this patch and see how. ---- Chun-Yeow
From 5e919edf17f4a64815766bdb543b6e02521e15a9 Mon Sep 17 00:00:00 2001 From: Chun-Yeow Yeoh <[email protected]> Date: Wed, 10 Jun 2015 21:20:51 +0800 Subject: [PATCH] Revert "mac80211: mesh: always use the latest target_sn" This reverts commit bc3ce0b0be6b85e738e80ed25b52ad940f34b921. --- net/mac80211/mesh_hwmp.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/net/mac80211/mesh_hwmp.c b/net/mac80211/mesh_hwmp.c index 214e63b..a33342b 100644 --- a/net/mac80211/mesh_hwmp.c +++ b/net/mac80211/mesh_hwmp.c @@ -543,10 +543,9 @@ static void hwmp_preq_frame_process(struct ieee80211_sub_if_data *sdata, if (time_after(jiffies, ifmsh->last_sn_update + net_traversal_jiffies(sdata)) || time_before(jiffies, ifmsh->last_sn_update)) { - ++ifmsh->sn; + target_sn = ++ifmsh->sn; ifmsh->last_sn_update = jiffies; } - target_sn = ifmsh->sn; } else if (is_broadcast_ether_addr(target_addr) && (target_flags & IEEE80211_PREQ_TO_FLAG)) { rcu_read_lock(); -- 2.3.0
_______________________________________________ Devel mailing list [email protected] http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel
