Lines Matching refs:mesh
8 #include "mesh.h"
12 /* mesh PS management */
15 * mps_qos_null_get - create pre-addressed QoS Null frame for mesh powersave
75 * @sdata: local mesh subif
82 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
95 switch (sta->mesh->plink_state) {
102 if (sta->mesh->local_pm == NL80211_MESH_POWER_LIGHT_SLEEP)
104 else if (sta->mesh->local_pm == NL80211_MESH_POWER_DEEP_SLEEP)
115 * (see IEEE802.11-2012 13.14.8.3). The non-peer mesh power mode is
117 * least one mesh peer (see 13.14.3.1). Otherwise, set it to the
145 * ieee80211_mps_set_sta_local_pm - set local PM towards a mesh STA
147 * @sta: mesh STA
156 if (sta->mesh->local_pm == pm)
162 sta->mesh->local_pm = pm;
168 if (sta->mesh->plink_state == NL80211_PLINK_ESTAB)
175 * ieee80211_mps_set_frame_flags - set mesh PS flags in FC (and QoS Control)
177 * @sdata: local mesh subif
178 * @sta: mesh STA
200 sta->mesh->plink_state == NL80211_PLINK_ESTAB)
201 pm = sta->mesh->local_pm;
203 pm = sdata->u.mesh.nonpeer_pm;
218 sdata->u.mesh.ps_peers_deep_sleep > 0))
227 * @sta: mesh STA
244 if (sta->mesh->plink_state == NL80211_PLINK_ESTAB &&
245 sta->mesh->peer_pm != NL80211_MESH_POWER_UNKNOWN)
246 pm = sta->mesh->peer_pm;
248 pm = sta->mesh->nonpeer_pm;
253 if (sta->mesh->plink_state != NL80211_PLINK_ESTAB) {
266 atomic_inc(&sta->sdata->u.mesh.ps.num_sta_ps);
282 * mesh power save level subfield of QoS control field (PSL)
299 if (sta->mesh->peer_pm == pm)
305 sta->mesh->peer_pm = pm;
320 if (sta->mesh->nonpeer_pm == pm)
326 sta->mesh->nonpeer_pm = pm;
332 * ieee80211_mps_rx_h_sta_process - frame receive handler for mesh powersave
348 /* check for mesh Peer Service Period trigger frames */
361 /* mesh PS frame release */
409 * To properly end a mesh MPSP the last transmitted frame has to set the EOSP
446 * mps_frame_deliver - transmit frames during mesh powersave
529 * ieee80211_mpsp_trigger_process - track status of mesh Peer Service Periods
557 else if (sta->mesh->local_pm != NL80211_MESH_POWER_ACTIVE)
566 * ieee80211_mps_frame_release - release frames buffered due to mesh power save
568 * @sta: mesh STA
582 if (sta->mesh->plink_state == NL80211_PLINK_ESTAB)
584 sta->mesh->aid);
603 if (sta->mesh->plink_state == NL80211_PLINK_ESTAB)