• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/net/mac80211/

Lines Matching refs:mesh

14 #include "mesh.h"
48 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
61 * mesh_matches_local - check if the config of a mesh point matches ours
63 * @ie: information elements of a management frame from the mesh peer
64 * @sdata: local mesh subif
66 * This function checks if the mesh configuration of a mesh point matches the
67 * local mesh configuration, i.e. if both nodes belong to the same mesh network.
71 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
75 * - On mesh config capabilities
98 * @ie: information elements of a management frame from the mesh peer
107 * mesh_accept_plinks_update: update accepting_plink in local mesh beacons
109 * @sdata: mesh interface in which mesh beacons are going to be updated
116 * the mesh interface might be able to establish plinks with peers that
118 * in general the mesh interface is not accepting peer link requests
123 if (free_plinks != sdata->u.mesh.accepting_plinks)
140 sdata->u.mesh.rmc = kmalloc(sizeof(struct mesh_rmc), GFP_KERNEL);
141 if (!sdata->u.mesh.rmc)
143 sdata->u.mesh.rmc->idx_mask = RMC_BUCKETS - 1;
145 INIT_LIST_HEAD(&sdata->u.mesh.rmc->bucket[i].list);
151 struct mesh_rmc *rmc = sdata->u.mesh.rmc;
155 if (!sdata->u.mesh.rmc)
165 sdata->u.mesh.rmc = NULL;
176 * Checks using the source address and the mesh sequence number if we have
183 struct mesh_rmc *rmc = sdata->u.mesh.rmc;
253 pos = skb_put(skb, 2 + sdata->u.mesh.mesh_id_len);
255 *pos++ = sdata->u.mesh.mesh_id_len;
256 if (sdata->u.mesh.mesh_id_len)
257 memcpy(pos, sdata->u.mesh.mesh_id, sdata->u.mesh.mesh_id_len);
264 *pos++ = sdata->u.mesh.mesh_pp_id;
267 *pos++ = sdata->u.mesh.mesh_pm_id;
270 *pos++ = sdata->u.mesh.mesh_cc_id;
273 *pos++ = sdata->u.mesh.mesh_sp_id;
276 *pos++ = sdata->u.mesh.mesh_auth_id;
279 neighbors = atomic_read(&sdata->u.mesh.mshstats.estab_plinks);
280 /* Number of neighbor mesh STAs or 15 whichever is smaller */
285 sdata->u.mesh.accepting_plinks = mesh_plink_availables(sdata);
287 *pos++ |= sdata->u.mesh.accepting_plinks ?
340 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
355 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
380 * ieee80211_fill_mesh_addresses - fill addresses of a locally originated mesh frame
383 * @meshda: destination address in the mesh
384 * @meshsa: source address address in the mesh. Same as TA, as frame is
387 * Return the length of the 802.11 (does not include a mesh control header)
412 * ieee80211_new_mesh_header - create a new mesh header
413 * @meshhdr: uninitialized mesh header
414 * @sdata: mesh interface to be used
415 * @addr4: addr4 of the mesh frame (1st in ae header)
417 * @addr5: addr5 of the mesh frame (1st or 2nd in ae header)
419 * @addr6: addr6 of the mesh frame (2nd or 3rd in ae header)
430 meshhdr->ttl = sdata->u.mesh.mshcfg.dot11MeshTTL;
431 put_unaligned(cpu_to_le32(sdata->u.mesh.mesh_seqnum), &meshhdr->seqnum);
432 sdata->u.mesh.mesh_seqnum++;
458 printk(KERN_DEBUG "%s: running mesh housekeeping\n",
466 if (free_plinks != sdata->u.mesh.accepting_plinks)
475 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
485 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
499 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
513 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
527 del_timer_sync(&sdata->u.mesh.housekeeping_timer);
528 del_timer_sync(&sdata->u.mesh.mesh_path_root_timer);
607 ifmsh = &sdata->u.mesh;
627 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
660 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
692 /* Allocate all mesh structures when creating the first mesh interface. */