• Home
  • Raw
  • Download

Lines Matching full:mesh

16 #include "mesh.h"
71 * mesh_path_assign_nexthop - update mesh path next hop
73 * @mpath: mesh path to update
110 /* size of the fixed part of the mesh header */ in prepare_for_gate()
119 /* we preserve the previous mesh header and only add in prepare_for_gate()
222 * mesh_path_lookup - look up a path in the mesh path table
226 * Returns: pointer to the mesh path structure, or NULL if not found
233 return mpath_lookup(&sdata->u.mesh.mesh_paths, dst, sdata); in mesh_path_lookup()
239 return mpath_lookup(&sdata->u.mesh.mpp_paths, dst, sdata); in mpp_path_lookup()
265 * mesh_path_lookup_by_idx - look up a path in the mesh path table by its index
269 * Returns: pointer to the mesh path structure, or NULL if not found.
276 return __mesh_path_lookup_by_idx(&sdata->u.mesh.mesh_paths, idx); in mesh_path_lookup_by_idx()
291 return __mesh_path_lookup_by_idx(&sdata->u.mesh.mpp_paths, idx); in mpp_path_lookup_by_idx()
295 * mesh_path_add_gate - add the given mpath to a mesh gate to our path table
304 tbl = &mpath->sdata->u.mesh.mesh_paths; in mesh_path_add_gate()
313 mpath->sdata->u.mesh.num_gates++; in mesh_path_add_gate()
322 "Mesh path: Recorded new gate: %pM. %d known gates\n", in mesh_path_add_gate()
323 mpath->dst, mpath->sdata->u.mesh.num_gates); in mesh_path_add_gate()
331 * mesh_gate_del - remove a mesh gate from the list of known gates
344 mpath->sdata->u.mesh.num_gates--; in mesh_gate_del()
348 "Mesh path: Deleted gate: %pM. %d known gates\n", in mesh_gate_del()
349 mpath->dst, mpath->sdata->u.mesh.num_gates); in mesh_gate_del()
358 return sdata->u.mesh.num_gates; in mesh_gate_num()
385 * mesh_path_add - allocate and add a new path to the mesh path table
406 if (atomic_add_unless(&sdata->u.mesh.mpaths, 1, MESH_MAX_MPATHS) == 0) in mesh_path_add()
413 tbl = &sdata->u.mesh.mesh_paths; in mesh_path_add()
431 sdata->u.mesh.mesh_paths_generation++; in mesh_path_add()
455 tbl = &sdata->u.mesh.mpp_paths; in mpp_path_add()
468 sdata->u.mesh.mpp_paths_generation++; in mpp_path_add()
484 struct mesh_table *tbl = &sdata->u.mesh.mesh_paths; in mesh_plink_broken()
498 sdata->u.mesh.mshcfg.element_ttl, in mesh_plink_broken()
516 atomic_dec(&sdata->u.mesh.mpaths); in mesh_path_free_rcu()
530 * mesh_path_flush_by_nexthop - Deletes mesh paths if their next hop matches
532 * @sta: mesh peer to match
534 * RCU notes: this function is called when a mesh plink transitions from
543 struct mesh_table *tbl = &sdata->u.mesh.mesh_paths; in mesh_path_flush_by_nexthop()
558 struct mesh_table *tbl = &sdata->u.mesh.mpp_paths; in mpp_flush_by_proxy()
583 * mesh_path_flush_by_iface - Deletes all mesh paths associated with a given iface
585 * This function deletes both mesh paths as well as mesh portal paths.
592 table_flush_by_iface(&sdata->u.mesh.mesh_paths); in mesh_path_flush_by_iface()
593 table_flush_by_iface(&sdata->u.mesh.mpp_paths); in mesh_path_flush_by_iface()
597 * table_path_del - delete a path from the mesh or mpp table
599 * @tbl: mesh or mpp path table
625 * mesh_path_del - delete a mesh path from the table
639 err = table_path_del(&sdata->u.mesh.mesh_paths, sdata, addr); in mesh_path_del()
640 sdata->u.mesh.mesh_paths_generation++; in mesh_path_del()
645 * mesh_path_tx_pending - sends pending frames in a mesh path queue
647 * @mpath: mesh path to activate
660 * mesh_path_send_to_gates - sends pending frames to all known mesh gates
662 * @mpath: mesh path whose queue will be emptied
677 tbl = &sdata->u.mesh.mesh_paths; in mesh_path_send_to_gates()
714 sdata->u.mesh.mshstats.dropped_frames_no_route++; in mesh_path_discard_frame()
718 * mesh_path_flush_pending - free the pending queue of a mesh path
720 * @mpath: mesh path whose queue has to be freed
727 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_path_flush_pending()
746 * mesh_path_fix_nexthop - force a specific next hop for a mesh path
748 * @mpath: the mesh path to modify
764 ewma_mesh_fail_avg_init(&next_hop->mesh->fail_avg); in mesh_path_fix_nexthop()
766 ewma_mesh_fail_avg_add(&next_hop->mesh->fail_avg, 1); in mesh_path_fix_nexthop()
772 mesh_table_init(&sdata->u.mesh.mesh_paths); in mesh_pathtbl_init()
773 mesh_table_init(&sdata->u.mesh.mpp_paths); in mesh_pathtbl_init()
795 mesh_path_tbl_expire(sdata, &sdata->u.mesh.mesh_paths); in mesh_path_expire()
796 mesh_path_tbl_expire(sdata, &sdata->u.mesh.mpp_paths); in mesh_path_expire()
801 mesh_table_free(&sdata->u.mesh.mesh_paths); in mesh_pathtbl_unregister()
802 mesh_table_free(&sdata->u.mesh.mpp_paths); in mesh_pathtbl_unregister()