aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mesh_hwmp.c
diff options
context:
space:
mode:
authorJulan Hsu <julanhsu@google.com>2019-01-15 15:28:43 -0800
committerJohannes Berg <johannes.berg@intel.com>2019-01-19 09:55:20 +0100
commit540bbcb930ed2fc9d6a57e0babea00027a7ecc67 (patch)
tree066259e3b21d5210501a7e918385e8aba47956e6 /net/mac80211/mesh_hwmp.c
parentnl80211/mac80211: mesh: add hop count to mpath info (diff)
downloadlinux-dev-540bbcb930ed2fc9d6a57e0babea00027a7ecc67.tar.xz
linux-dev-540bbcb930ed2fc9d6a57e0babea00027a7ecc67.zip
nl80211/mac80211: mesh: add mesh path change count to mpath info
Expose path change count to destination in mpath info Signed-off-by: Julan Hsu <julanhsu@google.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/mesh_hwmp.c')
-rw-r--r--net/mac80211/mesh_hwmp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/mesh_hwmp.c b/net/mac80211/mesh_hwmp.c
index 6d1190b3332f..a0aebf44493f 100644
--- a/net/mac80211/mesh_hwmp.c
+++ b/net/mac80211/mesh_hwmp.c
@@ -479,6 +479,8 @@ static u32 hwmp_route_info_get(struct ieee80211_sub_if_data *sdata,
}
if (fresh_info) {
+ if (rcu_access_pointer(mpath->next_hop) != sta)
+ mpath->path_change_count++;
mesh_path_assign_nexthop(mpath, sta);
mpath->flags |= MESH_PATH_SN_VALID;
mpath->metric = new_metric;
@@ -523,6 +525,8 @@ static u32 hwmp_route_info_get(struct ieee80211_sub_if_data *sdata,
}
if (fresh_info) {
+ if (rcu_access_pointer(mpath->next_hop) != sta)
+ mpath->path_change_count++;
mesh_path_assign_nexthop(mpath, sta);
mpath->metric = last_hop_metric;
mpath->exp_time = time_after(mpath->exp_time, exp_time)