Searched refs:mpath (Results 1 – 5 of 5) sorted by relevance
/net/mac80211/ |
D | mesh_pathtbl.c | 21 static void mesh_path_free_rcu(struct mesh_table *tbl, struct mesh_path *mpath); 38 static inline bool mpath_expired(struct mesh_path *mpath) in mpath_expired() argument 40 return (mpath->flags & MESH_PATH_ACTIVE) && in mpath_expired() 41 time_after(jiffies, mpath->exp_time) && in mpath_expired() 42 !(mpath->flags & MESH_PATH_FIXED); in mpath_expired() 47 struct mesh_path *mpath = ptr; in mesh_path_rht_free() local 50 mesh_path_free_rcu(tbl, mpath); in mesh_path_rht_free() 84 void mesh_path_assign_nexthop(struct mesh_path *mpath, struct sta_info *sta) in mesh_path_assign_nexthop() argument 90 rcu_assign_pointer(mpath->next_hop, sta); in mesh_path_assign_nexthop() 92 spin_lock_irqsave(&mpath->frame_queue.lock, flags); in mesh_path_assign_nexthop() [all …]
|
D | mesh_hwmp.c | 381 struct mesh_path *mpath; in hwmp_route_info_get() local 435 mpath = mesh_path_lookup(sdata, orig_addr); in hwmp_route_info_get() 436 if (mpath) { in hwmp_route_info_get() 437 spin_lock_bh(&mpath->state_lock); in hwmp_route_info_get() 438 if (mpath->flags & MESH_PATH_FIXED) in hwmp_route_info_get() 440 else if ((mpath->flags & MESH_PATH_ACTIVE) && in hwmp_route_info_get() 441 (mpath->flags & MESH_PATH_SN_VALID)) { in hwmp_route_info_get() 442 if (SN_GT(mpath->sn, orig_sn) || in hwmp_route_info_get() 443 (mpath->sn == orig_sn && in hwmp_route_info_get() 444 new_metric >= mpath->metric)) { in hwmp_route_info_get() [all …]
|
D | mesh.h | 262 void mesh_path_fix_nexthop(struct mesh_path *mpath, struct sta_info *next_hop); 269 int mesh_path_add_gate(struct mesh_path *mpath); 270 int mesh_path_send_to_gates(struct mesh_path *mpath); 292 void mesh_path_assign_nexthop(struct mesh_path *mpath, struct sta_info *sta); 293 void mesh_path_flush_pending(struct mesh_path *mpath); 294 void mesh_path_tx_pending(struct mesh_path *mpath); 333 static inline void mesh_path_activate(struct mesh_path *mpath) in mesh_path_activate() argument 335 mpath->flags |= MESH_PATH_ACTIVE | MESH_PATH_RESOLVED; in mesh_path_activate()
|
D | cfg.c | 1603 struct mesh_path *mpath; in ieee80211_add_mpath() local 1615 mpath = mesh_path_add(sdata, dst); in ieee80211_add_mpath() 1616 if (IS_ERR(mpath)) { in ieee80211_add_mpath() 1618 return PTR_ERR(mpath); in ieee80211_add_mpath() 1621 mesh_path_fix_nexthop(mpath, sta); in ieee80211_add_mpath() 1643 struct mesh_path *mpath; in ieee80211_change_mpath() local 1656 mpath = mesh_path_lookup(sdata, dst); in ieee80211_change_mpath() 1657 if (!mpath) { in ieee80211_change_mpath() 1662 mesh_path_fix_nexthop(mpath, sta); in ieee80211_change_mpath() 1668 static void mpath_set_pinfo(struct mesh_path *mpath, u8 *next_hop, in mpath_set_pinfo() argument [all …]
|
D | tx.c | 2358 struct mesh_path __maybe_unused *mppath = NULL, *mpath = NULL; in ieee80211_build_hdr() local 2437 mpath = mesh_path_lookup(sdata, skb->data); in ieee80211_build_hdr() 2438 if (mpath) { in ieee80211_build_hdr() 2440 next_hop = rcu_dereference(mpath->next_hop); in ieee80211_build_hdr() 2442 !(mpath->flags & (MESH_PATH_ACTIVE | in ieee80211_build_hdr() 2453 if (mppath && mpath) in ieee80211_build_hdr() 2454 mesh_path_del(sdata, mpath->dst); in ieee80211_build_hdr() 2480 else if (mpath) in ieee80211_build_hdr() 2481 mesh_da = mpath->dst; in ieee80211_build_hdr()
|