Searched refs:mpath (Results 1 – 7 of 7) sorted by relevance
/net/mac80211/ |
D | mesh_hwmp.c | 390 struct mesh_path *mpath; in hwmp_route_info_get() local 448 mpath = mesh_path_lookup(sdata, orig_addr); in hwmp_route_info_get() 449 if (mpath) { in hwmp_route_info_get() 450 spin_lock_bh(&mpath->state_lock); in hwmp_route_info_get() 451 if (mpath->flags & MESH_PATH_FIXED) in hwmp_route_info_get() 453 else if ((mpath->flags & MESH_PATH_ACTIVE) && in hwmp_route_info_get() 454 (mpath->flags & MESH_PATH_SN_VALID)) { in hwmp_route_info_get() 455 if (SN_GT(mpath->sn, orig_sn) || in hwmp_route_info_get() 456 (mpath->sn == orig_sn && in hwmp_route_info_get() 457 (rcu_access_pointer(mpath->next_hop) != in hwmp_route_info_get() [all …]
|
D | mesh_pathtbl.c | 19 static void mesh_path_free_rcu(struct mesh_table *tbl, struct mesh_path *mpath); 71 static inline bool mpath_expired(struct mesh_path *mpath) in mpath_expired() argument 73 return (mpath->flags & MESH_PATH_ACTIVE) && in mpath_expired() 74 time_after(jiffies, mpath->exp_time) && in mpath_expired() 75 !(mpath->flags & MESH_PATH_FIXED); in mpath_expired() 80 struct mesh_path *mpath = ptr; in mesh_path_rht_free() local 83 mesh_path_free_rcu(tbl, mpath); in mesh_path_rht_free() 114 void mesh_path_assign_nexthop(struct mesh_path *mpath, struct sta_info *sta) in mesh_path_assign_nexthop() argument 120 rcu_assign_pointer(mpath->next_hop, sta); in mesh_path_assign_nexthop() 122 spin_lock_irqsave(&mpath->frame_queue.lock, flags); in mesh_path_assign_nexthop() [all …]
|
D | mesh.h | 185 struct mesh_path *mpath, *mppath; member 317 void mesh_path_fix_nexthop(struct mesh_path *mpath, struct sta_info *next_hop); 324 int mesh_path_add_gate(struct mesh_path *mpath); 325 int mesh_path_send_to_gates(struct mesh_path *mpath); 351 void mesh_path_assign_nexthop(struct mesh_path *mpath, struct sta_info *sta); 352 void mesh_path_flush_pending(struct mesh_path *mpath); 353 void mesh_path_tx_pending(struct mesh_path *mpath); 370 struct sk_buff *skb, struct mesh_path *mpath); 374 void mesh_fast_tx_flush_mpath(struct mesh_path *mpath); 378 struct mesh_path *mpath, const u8 *addr); [all …]
|
D | cfg.c | 2237 struct mesh_path *mpath; in ieee80211_add_mpath() local 2249 mpath = mesh_path_add(sdata, dst); in ieee80211_add_mpath() 2250 if (IS_ERR(mpath)) { in ieee80211_add_mpath() 2252 return PTR_ERR(mpath); in ieee80211_add_mpath() 2255 mesh_path_fix_nexthop(mpath, sta); in ieee80211_add_mpath() 2277 struct mesh_path *mpath; in ieee80211_change_mpath() local 2290 mpath = mesh_path_lookup(sdata, dst); in ieee80211_change_mpath() 2291 if (!mpath) { in ieee80211_change_mpath() 2296 mesh_path_fix_nexthop(mpath, sta); in ieee80211_change_mpath() 2302 static void mpath_set_pinfo(struct mesh_path *mpath, u8 *next_hop, in mpath_set_pinfo() argument [all …]
|
D | tx.c | 2595 struct mesh_path __maybe_unused *mppath = NULL, *mpath = NULL; in ieee80211_build_hdr() local 2689 mpath = mesh_path_lookup(sdata, skb->data); in ieee80211_build_hdr() 2690 if (mpath) { in ieee80211_build_hdr() 2692 next_hop = rcu_dereference(mpath->next_hop); in ieee80211_build_hdr() 2694 !(mpath->flags & (MESH_PATH_ACTIVE | in ieee80211_build_hdr() 2705 if (mppath && mpath) in ieee80211_build_hdr() 2706 mesh_path_del(sdata, mpath->dst); in ieee80211_build_hdr() 2732 else if (mpath) in ieee80211_build_hdr() 2733 mesh_da = mpath->dst; in ieee80211_build_hdr()
|
D | mesh.c | 816 sta = rcu_dereference(entry->mpath->next_hop); in ieee80211_mesh_xmit_fast() 854 entry->mpath->dst, sdata->vif.addr); in ieee80211_mesh_xmit_fast()
|
D | rx.c | 2751 sta = rcu_dereference(entry->mpath->next_hop); in ieee80211_rx_mesh_fast_forward()
|