Lines Matching refs:sdata
109 struct ieee80211_sub_if_data *sdata; member
197 unsigned int ieee80211_new_mesh_header(struct ieee80211_sub_if_data *sdata,
200 int mesh_rmc_check(struct ieee80211_sub_if_data *sdata,
202 bool mesh_matches_local(struct ieee80211_sub_if_data *sdata,
205 int mesh_add_meshconf_ie(struct ieee80211_sub_if_data *sdata,
207 int mesh_add_meshid_ie(struct ieee80211_sub_if_data *sdata,
209 int mesh_add_rsn_ie(struct ieee80211_sub_if_data *sdata,
211 int mesh_add_vendor_ies(struct ieee80211_sub_if_data *sdata,
213 int mesh_add_ht_cap_ie(struct ieee80211_sub_if_data *sdata,
215 int mesh_add_ht_oper_ie(struct ieee80211_sub_if_data *sdata,
217 int mesh_add_vht_cap_ie(struct ieee80211_sub_if_data *sdata,
219 int mesh_add_vht_oper_ie(struct ieee80211_sub_if_data *sdata,
221 int mesh_add_he_cap_ie(struct ieee80211_sub_if_data *sdata,
223 int mesh_add_he_oper_ie(struct ieee80211_sub_if_data *sdata,
225 int mesh_add_he_6ghz_cap_ie(struct ieee80211_sub_if_data *sdata,
227 void mesh_rmc_free(struct ieee80211_sub_if_data *sdata);
228 int mesh_rmc_init(struct ieee80211_sub_if_data *sdata);
233 void ieee80211_mesh_init_sdata(struct ieee80211_sub_if_data *sdata);
234 void ieee80211_mesh_teardown_sdata(struct ieee80211_sub_if_data *sdata);
235 int ieee80211_start_mesh(struct ieee80211_sub_if_data *sdata);
236 void ieee80211_stop_mesh(struct ieee80211_sub_if_data *sdata);
240 void ieee80211_mbss_info_change_notify(struct ieee80211_sub_if_data *sdata,
244 u32 ieee80211_mps_local_status_update(struct ieee80211_sub_if_data *sdata);
247 void ieee80211_mps_set_frame_flags(struct ieee80211_sub_if_data *sdata,
259 int mesh_nexthop_lookup(struct ieee80211_sub_if_data *sdata,
261 int mesh_nexthop_resolve(struct ieee80211_sub_if_data *sdata,
263 void mesh_path_start_discovery(struct ieee80211_sub_if_data *sdata);
264 struct mesh_path *mesh_path_lookup(struct ieee80211_sub_if_data *sdata,
266 struct mesh_path *mpp_path_lookup(struct ieee80211_sub_if_data *sdata,
268 int mpp_path_add(struct ieee80211_sub_if_data *sdata,
271 mesh_path_lookup_by_idx(struct ieee80211_sub_if_data *sdata, int idx);
273 mpp_path_lookup_by_idx(struct ieee80211_sub_if_data *sdata, int idx);
275 void mesh_path_expire(struct ieee80211_sub_if_data *sdata);
276 void mesh_rx_path_sel_frame(struct ieee80211_sub_if_data *sdata,
279 mesh_path_add(struct ieee80211_sub_if_data *sdata, const u8 *dst);
283 int mesh_gate_num(struct ieee80211_sub_if_data *sdata);
288 void mesh_neighbour_update(struct ieee80211_sub_if_data *sdata,
292 u32 mesh_accept_plinks_update(struct ieee80211_sub_if_data *sdata);
298 void mesh_rx_plink_frame(struct ieee80211_sub_if_data *sdata,
305 int mesh_path_error_tx(struct ieee80211_sub_if_data *sdata,
311 int mesh_pathtbl_init(struct ieee80211_sub_if_data *sdata);
312 void mesh_pathtbl_unregister(struct ieee80211_sub_if_data *sdata);
313 int mesh_path_del(struct ieee80211_sub_if_data *sdata, const u8 *addr);
316 void mesh_path_discard_frame(struct ieee80211_sub_if_data *sdata,
318 void mesh_path_tx_root_frame(struct ieee80211_sub_if_data *sdata);
324 u32 mesh_plink_inc_estab_count(struct ieee80211_sub_if_data *sdata) in mesh_plink_inc_estab_count() argument
326 atomic_inc(&sdata->u.mesh.estab_plinks); in mesh_plink_inc_estab_count()
327 return mesh_accept_plinks_update(sdata) | BSS_CHANGED_BEACON; in mesh_plink_inc_estab_count()
331 u32 mesh_plink_dec_estab_count(struct ieee80211_sub_if_data *sdata) in mesh_plink_dec_estab_count() argument
333 atomic_dec(&sdata->u.mesh.estab_plinks); in mesh_plink_dec_estab_count()
334 return mesh_accept_plinks_update(sdata) | BSS_CHANGED_BEACON; in mesh_plink_dec_estab_count()
337 static inline int mesh_plink_free_count(struct ieee80211_sub_if_data *sdata) in mesh_plink_free_count() argument
339 return sdata->u.mesh.mshcfg.dot11MeshMaxPeerLinks - in mesh_plink_free_count()
340 atomic_read(&sdata->u.mesh.estab_plinks); in mesh_plink_free_count()
343 static inline bool mesh_plink_availables(struct ieee80211_sub_if_data *sdata) in mesh_plink_availables() argument
345 return (min_t(long, mesh_plink_free_count(sdata), in mesh_plink_availables()
346 MESH_MAX_PLINKS - sdata->local->num_sta)) > 0; in mesh_plink_availables()
354 static inline bool mesh_path_sel_is_hwmp(struct ieee80211_sub_if_data *sdata) in mesh_path_sel_is_hwmp() argument
356 return sdata->u.mesh.mesh_pp_id == IEEE80211_PATH_PROTOCOL_HWMP; in mesh_path_sel_is_hwmp()
359 void mesh_path_flush_by_iface(struct ieee80211_sub_if_data *sdata);
360 void mesh_sync_adjust_tsf(struct ieee80211_sub_if_data *sdata);
363 static inline bool mesh_path_sel_is_hwmp(struct ieee80211_sub_if_data *sdata) in mesh_path_sel_is_hwmp() argument
365 static inline void mesh_path_flush_by_iface(struct ieee80211_sub_if_data *sdata) in mesh_path_flush_by_iface() argument