• 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()
434 cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_get()
479 cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_cache()
602 cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_gc()
616 struct mesh_tx_cache *cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_flush_mpath()
620 cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_flush_mpath()
631 struct mesh_tx_cache *cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_flush_sta()
635 cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_flush_sta()
646 struct mesh_tx_cache *cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_flush_addr()
649 cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_flush_addr()
658 * mesh_path_add - allocate and add a new path to the mesh path table
679 if (atomic_add_unless(&sdata->u.mesh.mpaths, 1, MESH_MAX_MPATHS) == 0) in mesh_path_add()
686 tbl = &sdata->u.mesh.mesh_paths; in mesh_path_add()
704 sdata->u.mesh.mesh_paths_generation++; in mesh_path_add()
728 tbl = &sdata->u.mesh.mpp_paths; in mpp_path_add()
743 sdata->u.mesh.mpp_paths_generation++; in mpp_path_add()
759 struct mesh_table *tbl = &sdata->u.mesh.mesh_paths; in mesh_plink_broken()
773 sdata->u.mesh.mshcfg.element_ttl, in mesh_plink_broken()
791 atomic_dec(&sdata->u.mesh.mpaths); in mesh_path_free_rcu()
801 if (tbl == &mpath->sdata->u.mesh.mpp_paths) in __mesh_path_del()
809 * mesh_path_flush_by_nexthop - Deletes mesh paths if their next hop matches
811 * @sta: mesh peer to match
813 * RCU notes: this function is called when a mesh plink transitions from
822 struct mesh_table *tbl = &sdata->u.mesh.mesh_paths; in mesh_path_flush_by_nexthop()
837 struct mesh_table *tbl = &sdata->u.mesh.mpp_paths; in mpp_flush_by_proxy()
862 * mesh_path_flush_by_iface - Deletes all mesh paths associated with a given iface
864 * This function deletes both mesh paths as well as mesh portal paths.
871 table_flush_by_iface(&sdata->u.mesh.mesh_paths); in mesh_path_flush_by_iface()
872 table_flush_by_iface(&sdata->u.mesh.mpp_paths); in mesh_path_flush_by_iface()
876 * table_path_del - delete a path from the mesh or mpp table
878 * @tbl: mesh or mpp path table
904 * mesh_path_del - delete a mesh path from the table
918 err = table_path_del(&sdata->u.mesh.mesh_paths, sdata, addr); in mesh_path_del()
919 sdata->u.mesh.mesh_paths_generation++; in mesh_path_del()
924 * mesh_path_tx_pending - sends pending frames in a mesh path queue
926 * @mpath: mesh path to activate
939 * mesh_path_send_to_gates - sends pending frames to all known mesh gates
941 * @mpath: mesh path whose queue will be emptied
956 tbl = &sdata->u.mesh.mesh_paths; in mesh_path_send_to_gates()
993 sdata->u.mesh.mshstats.dropped_frames_no_route++; in mesh_path_discard_frame()
997 * mesh_path_flush_pending - free the pending queue of a mesh path
999 * @mpath: mesh path whose queue has to be freed
1012 * mesh_path_fix_nexthop - force a specific next hop for a mesh path
1014 * @mpath: the mesh path to modify
1031 ewma_mesh_fail_avg_init(&next_hop->mesh->fail_avg); in mesh_path_fix_nexthop()
1033 ewma_mesh_fail_avg_add(&next_hop->mesh->fail_avg, 1); in mesh_path_fix_nexthop()
1039 mesh_table_init(&sdata->u.mesh.mesh_paths); in mesh_pathtbl_init()
1040 mesh_table_init(&sdata->u.mesh.mpp_paths); in mesh_pathtbl_init()
1063 mesh_path_tbl_expire(sdata, &sdata->u.mesh.mesh_paths); in mesh_path_expire()
1064 mesh_path_tbl_expire(sdata, &sdata->u.mesh.mpp_paths); in mesh_path_expire()
1070 mesh_table_free(&sdata->u.mesh.mesh_paths); in mesh_pathtbl_unregister()
1071 mesh_table_free(&sdata->u.mesh.mpp_paths); in mesh_pathtbl_unregister()