Lines Matching refs:mesh
12 #include "mesh.h"
42 from_timer(sdata, t, u.mesh.housekeeping_timer);
44 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
52 * mesh_matches_local - check if the config of a mesh point matches ours
54 * @sdata: local mesh subif
55 * @ie: information elements of a management frame from the mesh peer
57 * This function checks if the mesh configuration of a mesh point matches the
58 * local mesh configuration, i.e. if both nodes belong to the same mesh network.
63 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
71 * - On mesh config capabilities
121 * @ie: information elements of a management frame from the mesh peer
130 * mesh_accept_plinks_update - update accepting_plink in local mesh beacons
132 * @sdata: mesh interface in which mesh beacons are going to be updated
142 * the mesh interface might be able to establish plinks with peers that
144 * in general the mesh interface is not accepting peer link requests
149 if (free_plinks != sdata->u.mesh.accepting_plinks) {
150 sdata->u.mesh.accepting_plinks = free_plinks;
158 * mesh_sta_cleanup - clean up any mesh sta state
160 * @sta: mesh sta to clean up.
175 sdata->u.mesh.rmc = kmalloc(sizeof(struct mesh_rmc), GFP_KERNEL);
176 if (!sdata->u.mesh.rmc)
178 sdata->u.mesh.rmc->idx_mask = RMC_BUCKETS - 1;
180 INIT_HLIST_HEAD(&sdata->u.mesh.rmc->bucket[i]);
186 struct mesh_rmc *rmc = sdata->u.mesh.rmc;
191 if (!sdata->u.mesh.rmc)
202 sdata->u.mesh.rmc = NULL;
214 * Checks using the source address and the mesh sequence number if we have
221 struct mesh_rmc *rmc = sdata->u.mesh.rmc;
259 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
307 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
325 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
348 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
371 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
634 /* The device doesn't support HE in mesh mode or at all */
704 from_timer(sdata, t, u.mesh.mesh_path_timer);
712 from_timer(sdata, t, u.mesh.mesh_path_root_timer);
713 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
767 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
840 put_unaligned_le32(atomic_inc_return(&sdata->u.mesh.mesh_seqnum),
842 meshhdr->ttl = sdata->u.mesh.mshcfg.dot11MeshTTL;
854 * ieee80211_fill_mesh_addresses - fill addresses of a locally originated mesh frame
857 * @meshda: destination address in the mesh
858 * @meshsa: source address in the mesh. Same as TA, as frame is
861 * Return the length of the 802.11 (does not include a mesh control header)
885 * ieee80211_new_mesh_header - create a new mesh header
886 * @sdata: mesh interface to be used
887 * @meshhdr: uninitialized mesh header
892 * mesh frame
905 meshhdr->ttl = sdata->u.mesh.mshcfg.dot11MeshTTL;
907 put_unaligned_le32(atomic_inc_return(&sdata->u.mesh.mesh_seqnum),
925 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
944 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
973 sdata = container_of(ifmsh, struct ieee80211_sub_if_data, u.mesh);
1035 sdata->u.mesh.security ? WLAN_CAPABILITY_PRIVACY : 0);
1155 old_bcn = sdata_dereference(sdata->u.mesh.beacon, sdata);
1156 ret = ieee80211_mesh_build_beacon(&sdata->u.mesh);
1169 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1185 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1195 /* mesh ifaces must set allmulti to forward mcast traffic */
1227 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1254 del_timer_sync(&sdata->u.mesh.housekeeping_timer);
1255 del_timer_sync(&sdata->u.mesh.mesh_path_root_timer);
1256 del_timer_sync(&sdata->u.mesh.mesh_path_timer);
1258 /* clear any mesh work (for next join) we may have accrued */
1288 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1342 "mesh STA %pM switches to unsupported channel (%d MHz, width:%d, CF1/2: %d/%d MHz), aborting\n",
1358 "mesh STA %pM switches to channel requiring DFS (%d MHz, width:%d, CF1/2: %d/%d MHz), aborting\n",
1405 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1469 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1491 /* ignore non-mesh or secure / unsecure mismatch */
1493 (elems->rsn && sdata->u.mesh.security == IEEE80211_MESH_SEC_NONE) ||
1494 (!elems->rsn && sdata->u.mesh.security != IEEE80211_MESH_SEC_NONE))
1509 sdata->u.mesh.mshcfg.rssi_threshold, rx_status->signal);
1510 if (!sdata->u.mesh.user_mpm ||
1511 sdata->u.mesh.mshcfg.rssi_threshold == 0 ||
1512 sdata->u.mesh.mshcfg.rssi_threshold < rx_status->signal)
1530 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1558 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1616 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1696 /* mesh already went down */
1697 if (!sdata->u.mesh.mesh_id_len)
1723 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1746 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1750 /* mesh already went down */
1751 if (!sdata->u.mesh.mesh_id_len)
1777 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1789 /* Allocate all mesh structures when creating the first mesh interface. */