Home
last modified time | relevance | path

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

/net/mac80211/
Dmesh_pathtbl.c21 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 …]
Dmesh_hwmp.c381 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 …]
Dmesh.h262 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()
Dcfg.c1603 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 …]
Dtx.c2358 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()