• Home
  • Raw
  • Download

Lines Matching full:mesh

16 #include "mesh.h"
56 cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_deinit()
65 cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_init()
107 * mesh_path_assign_nexthop - update mesh path next hop
109 * @mpath: mesh path to update
146 /* size of the fixed part of the mesh header */ in prepare_for_gate()
155 /* we preserve the previous mesh header and only add in prepare_for_gate()
258 * mesh_path_lookup - look up a path in the mesh path table
262 * Returns: pointer to the mesh path structure, or NULL if not found
269 return mpath_lookup(&sdata->u.mesh.mesh_paths, dst, sdata); in mesh_path_lookup()
275 return mpath_lookup(&sdata->u.mesh.mpp_paths, dst, sdata); in mpp_path_lookup()
301 * mesh_path_lookup_by_idx - look up a path in the mesh path table by its index
305 * Returns: pointer to the mesh path structure, or NULL if not found.
312 return __mesh_path_lookup_by_idx(&sdata->u.mesh.mesh_paths, idx); in mesh_path_lookup_by_idx()
327 return __mesh_path_lookup_by_idx(&sdata->u.mesh.mpp_paths, idx); in mpp_path_lookup_by_idx()
331 * mesh_path_add_gate - add the given mpath to a mesh gate to our path table
340 tbl = &mpath->sdata->u.mesh.mesh_paths; in mesh_path_add_gate()
349 mpath->sdata->u.mesh.num_gates++; in mesh_path_add_gate()
358 "Mesh path: Recorded new gate: %pM. %d known gates\n", in mesh_path_add_gate()
359 mpath->dst, mpath->sdata->u.mesh.num_gates); in mesh_path_add_gate()
367 * mesh_gate_del - remove a mesh gate from the list of known gates
380 mpath->sdata->u.mesh.num_gates--; in mesh_gate_del()
384 "Mesh path: Deleted gate: %pM. %d known gates\n", in mesh_gate_del()
385 mpath->dst, mpath->sdata->u.mesh.num_gates); in mesh_gate_del()
394 return sdata->u.mesh.num_gates; in mesh_gate_num()
435 cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_get()
480 cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_cache()
605 struct mesh_tx_cache *cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_gc()
622 struct mesh_tx_cache *cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_flush_mpath()
636 struct mesh_tx_cache *cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_flush_sta()
650 struct mesh_tx_cache *cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_flush_addr()
667 * mesh_path_add - allocate and add a new path to the mesh path table
688 if (atomic_add_unless(&sdata->u.mesh.mpaths, 1, MESH_MAX_MPATHS) == 0) in mesh_path_add()
695 tbl = &sdata->u.mesh.mesh_paths; in mesh_path_add()
713 sdata->u.mesh.mesh_paths_generation++; in mesh_path_add()
737 tbl = &sdata->u.mesh.mpp_paths; in mpp_path_add()
752 sdata->u.mesh.mpp_paths_generation++; in mpp_path_add()
768 struct mesh_table *tbl = &sdata->u.mesh.mesh_paths; in mesh_plink_broken()
782 sdata->u.mesh.mshcfg.element_ttl, in mesh_plink_broken()
800 atomic_dec(&sdata->u.mesh.mpaths); in mesh_path_free_rcu()
810 if (tbl == &mpath->sdata->u.mesh.mpp_paths) in __mesh_path_del()
818 * mesh_path_flush_by_nexthop - Deletes mesh paths if their next hop matches
820 * @sta: mesh peer to match
822 * RCU notes: this function is called when a mesh plink transitions from
831 struct mesh_table *tbl = &sdata->u.mesh.mesh_paths; in mesh_path_flush_by_nexthop()
846 struct mesh_table *tbl = &sdata->u.mesh.mpp_paths; in mpp_flush_by_proxy()
871 * mesh_path_flush_by_iface - Deletes all mesh paths associated with a given iface
873 * This function deletes both mesh paths as well as mesh portal paths.
880 table_flush_by_iface(&sdata->u.mesh.mesh_paths); in mesh_path_flush_by_iface()
881 table_flush_by_iface(&sdata->u.mesh.mpp_paths); in mesh_path_flush_by_iface()
885 * table_path_del - delete a path from the mesh or mpp table
887 * @tbl: mesh or mpp path table
913 * mesh_path_del - delete a mesh path from the table
927 err = table_path_del(&sdata->u.mesh.mesh_paths, sdata, addr); in mesh_path_del()
928 sdata->u.mesh.mesh_paths_generation++; in mesh_path_del()
933 * mesh_path_tx_pending - sends pending frames in a mesh path queue
935 * @mpath: mesh path to activate
948 * mesh_path_send_to_gates - sends pending frames to all known mesh gates
950 * @mpath: mesh path whose queue will be emptied
965 tbl = &sdata->u.mesh.mesh_paths; in mesh_path_send_to_gates()
1002 sdata->u.mesh.mshstats.dropped_frames_no_route++; in mesh_path_discard_frame()
1006 * mesh_path_flush_pending - free the pending queue of a mesh path
1008 * @mpath: mesh path whose queue has to be freed
1015 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_path_flush_pending()
1034 * mesh_path_fix_nexthop - force a specific next hop for a mesh path
1036 * @mpath: the mesh path to modify
1053 ewma_mesh_fail_avg_init(&next_hop->mesh->fail_avg); in mesh_path_fix_nexthop()
1055 ewma_mesh_fail_avg_add(&next_hop->mesh->fail_avg, 1); in mesh_path_fix_nexthop()
1061 mesh_table_init(&sdata->u.mesh.mesh_paths); in mesh_pathtbl_init()
1062 mesh_table_init(&sdata->u.mesh.mpp_paths); in mesh_pathtbl_init()
1085 mesh_path_tbl_expire(sdata, &sdata->u.mesh.mesh_paths); in mesh_path_expire()
1086 mesh_path_tbl_expire(sdata, &sdata->u.mesh.mpp_paths); in mesh_path_expire()
1092 mesh_table_free(&sdata->u.mesh.mesh_paths); in mesh_pathtbl_unregister()
1093 mesh_table_free(&sdata->u.mesh.mpp_paths); in mesh_pathtbl_unregister()