Lines Matching refs:mpath

2238 	struct mesh_path *mpath;  in ieee80211_add_mpath()  local
2250 mpath = mesh_path_add(sdata, dst); in ieee80211_add_mpath()
2251 if (IS_ERR(mpath)) { in ieee80211_add_mpath()
2253 return PTR_ERR(mpath); in ieee80211_add_mpath()
2256 mesh_path_fix_nexthop(mpath, sta); in ieee80211_add_mpath()
2278 struct mesh_path *mpath; in ieee80211_change_mpath() local
2291 mpath = mesh_path_lookup(sdata, dst); in ieee80211_change_mpath()
2292 if (!mpath) { in ieee80211_change_mpath()
2297 mesh_path_fix_nexthop(mpath, sta); in ieee80211_change_mpath()
2303 static void mpath_set_pinfo(struct mesh_path *mpath, u8 *next_hop, in mpath_set_pinfo() argument
2306 struct sta_info *next_hop_sta = rcu_dereference(mpath->next_hop); in mpath_set_pinfo()
2315 pinfo->generation = mpath->sdata->u.mesh.mesh_paths_generation; in mpath_set_pinfo()
2327 pinfo->frame_qlen = mpath->frame_queue.qlen; in mpath_set_pinfo()
2328 pinfo->sn = mpath->sn; in mpath_set_pinfo()
2329 pinfo->metric = mpath->metric; in mpath_set_pinfo()
2330 if (time_before(jiffies, mpath->exp_time)) in mpath_set_pinfo()
2331 pinfo->exptime = jiffies_to_msecs(mpath->exp_time - jiffies); in mpath_set_pinfo()
2333 jiffies_to_msecs(mpath->discovery_timeout); in mpath_set_pinfo()
2334 pinfo->discovery_retries = mpath->discovery_retries; in mpath_set_pinfo()
2335 if (mpath->flags & MESH_PATH_ACTIVE) in mpath_set_pinfo()
2337 if (mpath->flags & MESH_PATH_RESOLVING) in mpath_set_pinfo()
2339 if (mpath->flags & MESH_PATH_SN_VALID) in mpath_set_pinfo()
2341 if (mpath->flags & MESH_PATH_FIXED) in mpath_set_pinfo()
2343 if (mpath->flags & MESH_PATH_RESOLVED) in mpath_set_pinfo()
2345 pinfo->hop_count = mpath->hop_count; in mpath_set_pinfo()
2346 pinfo->path_change_count = mpath->path_change_count; in mpath_set_pinfo()
2354 struct mesh_path *mpath; in ieee80211_get_mpath() local
2359 mpath = mesh_path_lookup(sdata, dst); in ieee80211_get_mpath()
2360 if (!mpath) { in ieee80211_get_mpath()
2364 memcpy(dst, mpath->dst, ETH_ALEN); in ieee80211_get_mpath()
2365 mpath_set_pinfo(mpath, next_hop, pinfo); in ieee80211_get_mpath()
2375 struct mesh_path *mpath; in ieee80211_dump_mpath() local
2380 mpath = mesh_path_lookup_by_idx(sdata, idx); in ieee80211_dump_mpath()
2381 if (!mpath) { in ieee80211_dump_mpath()
2385 memcpy(dst, mpath->dst, ETH_ALEN); in ieee80211_dump_mpath()
2386 mpath_set_pinfo(mpath, next_hop, pinfo); in ieee80211_dump_mpath()
2391 static void mpp_set_pinfo(struct mesh_path *mpath, u8 *mpp, in mpp_set_pinfo() argument
2395 memcpy(mpp, mpath->mpp, ETH_ALEN); in mpp_set_pinfo()
2397 pinfo->generation = mpath->sdata->u.mesh.mpp_paths_generation; in mpp_set_pinfo()
2405 struct mesh_path *mpath; in ieee80211_get_mpp() local
2410 mpath = mpp_path_lookup(sdata, dst); in ieee80211_get_mpp()
2411 if (!mpath) { in ieee80211_get_mpp()
2415 memcpy(dst, mpath->dst, ETH_ALEN); in ieee80211_get_mpp()
2416 mpp_set_pinfo(mpath, mpp, pinfo); in ieee80211_get_mpp()
2426 struct mesh_path *mpath; in ieee80211_dump_mpp() local
2431 mpath = mpp_path_lookup_by_idx(sdata, idx); in ieee80211_dump_mpp()
2432 if (!mpath) { in ieee80211_dump_mpp()
2436 memcpy(dst, mpath->dst, ETH_ALEN); in ieee80211_dump_mpp()
2437 mpp_set_pinfo(mpath, mpp, pinfo); in ieee80211_dump_mpp()