Home
last modified time | relevance | path

Searched refs:mpath (Results 1 – 7 of 7) sorted by relevance

/net/mac80211/
Dmesh_hwmp.c390 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 …]
Dmesh_pathtbl.c19 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 …]
Dmesh.h185 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 …]
Dcfg.c2237 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 …]
Dtx.c2595 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()
Dmesh.c816 sta = rcu_dereference(entry->mpath->next_hop); in ieee80211_mesh_xmit_fast()
854 entry->mpath->dst, sdata->vif.addr); in ieee80211_mesh_xmit_fast()
Drx.c2751 sta = rcu_dereference(entry->mpath->next_hop); in ieee80211_rx_mesh_fast_forward()