• Home
  • Raw
  • Download

Lines Matching refs:mesh

20 #define mod_plink_timer(s, t) (mod_timer(&s->mesh->plink_timer, \
61 s32 rssi_threshold = sdata->u.mesh.mshcfg.rssi_threshold; in rssi_threshold_check()
77 lockdep_assert_held(&sta->mesh->plink_lock); in mesh_plink_fsm_restart()
78 sta->mesh->plink_state = NL80211_PLINK_LISTEN; in mesh_plink_fsm_restart()
79 sta->mesh->llid = sta->mesh->plid = sta->mesh->reason = 0; in mesh_plink_fsm_restart()
80 sta->mesh->plink_retries = 0; in mesh_plink_fsm_restart()
125 sta->mesh->plink_state != NL80211_PLINK_ESTAB) in mesh_set_short_slot_time()
176 sta->mesh->plink_state != NL80211_PLINK_ESTAB) in mesh_set_ht_prot_mode()
206 sdata->u.mesh.mshcfg.ht_opmode = ht_opmode; in mesh_set_ht_prot_mode()
237 2 + sdata->u.mesh.mesh_id_len + in mesh_plink_frame_tx()
251 sdata->u.mesh.ie_len); in mesh_plink_frame_tx()
374 lockdep_assert_held(&sta->mesh->plink_lock); in __mesh_plink_deactivate()
376 if (sta->mesh->plink_state == NL80211_PLINK_ESTAB) in __mesh_plink_deactivate()
378 sta->mesh->plink_state = NL80211_PLINK_BLOCKED; in __mesh_plink_deactivate()
399 spin_lock_bh(&sta->mesh->plink_lock); in mesh_plink_deactivate()
402 if (!sdata->u.mesh.user_mpm) { in mesh_plink_deactivate()
403 sta->mesh->reason = WLAN_REASON_MESH_PEER_CANCELED; in mesh_plink_deactivate()
405 sta->sta.addr, sta->mesh->llid, in mesh_plink_deactivate()
406 sta->mesh->plid, sta->mesh->reason); in mesh_plink_deactivate()
408 spin_unlock_bh(&sta->mesh->plink_lock); in mesh_plink_deactivate()
409 if (!sdata->u.mesh.user_mpm) in mesh_plink_deactivate()
410 del_timer_sync(&sta->mesh->plink_timer); in mesh_plink_deactivate()
435 spin_lock_bh(&sta->mesh->plink_lock); in mesh_sta_info_init()
439 if (sta->mesh->plink_state == NL80211_PLINK_ESTAB && in mesh_sta_info_init()
440 sta->mesh->processed_beacon) in mesh_sta_info_init()
442 sta->mesh->processed_beacon = true; in mesh_sta_info_init()
484 spin_unlock_bh(&sta->mesh->plink_lock); in mesh_sta_info_init()
531 sta->mesh->plink_state = NL80211_PLINK_LISTEN; in __mesh_sta_info_alloc()
550 if (sdata->u.mesh.user_mpm || in mesh_sta_info_alloc()
551 sdata->u.mesh.security & IEEE80211_MESH_SEC_AUTHED) { in mesh_sta_info_alloc()
632 sta->mesh->connected_to_gate = elems->mesh_config->meshconf_form & in mesh_neighbour_update()
636 sta->mesh->plink_state == NL80211_PLINK_LISTEN && in mesh_neighbour_update()
637 sdata->u.mesh.accepting_plinks && in mesh_neighbour_update()
638 sdata->u.mesh.mshcfg.auto_open_plinks && in mesh_neighbour_update()
650 struct mesh_sta *mesh = from_timer(mesh, t, plink_timer); in mesh_plink_timer() local
662 sta = mesh->plink_sta; in mesh_plink_timer()
667 spin_lock_bh(&sta->mesh->plink_lock); in mesh_plink_timer()
674 if (time_before(jiffies, sta->mesh->plink_timer.expires)) { in mesh_plink_timer()
677 sta->sta.addr, mplstates[sta->mesh->plink_state]); in mesh_plink_timer()
678 spin_unlock_bh(&sta->mesh->plink_lock); in mesh_plink_timer()
683 if (sta->mesh->plink_state == NL80211_PLINK_LISTEN || in mesh_plink_timer()
684 sta->mesh->plink_state == NL80211_PLINK_ESTAB) { in mesh_plink_timer()
687 sta->sta.addr, mplstates[sta->mesh->plink_state]); in mesh_plink_timer()
688 spin_unlock_bh(&sta->mesh->plink_lock); in mesh_plink_timer()
694 sta->sta.addr, mplstates[sta->mesh->plink_state]); in mesh_plink_timer()
696 mshcfg = &sdata->u.mesh.mshcfg; in mesh_plink_timer()
698 switch (sta->mesh->plink_state) { in mesh_plink_timer()
702 if (sta->mesh->plink_retries < mshcfg->dot11MeshMaxRetries) { in mesh_plink_timer()
706 sta->sta.addr, sta->mesh->plink_retries, in mesh_plink_timer()
707 sta->mesh->plink_timeout); in mesh_plink_timer()
709 sta->mesh->plink_timeout = sta->mesh->plink_timeout + in mesh_plink_timer()
710 rand % sta->mesh->plink_timeout; in mesh_plink_timer()
711 ++sta->mesh->plink_retries; in mesh_plink_timer()
712 mod_plink_timer(sta, sta->mesh->plink_timeout); in mesh_plink_timer()
722 sta->mesh->plink_state = NL80211_PLINK_HOLDING; in mesh_plink_timer()
728 del_timer(&sta->mesh->plink_timer); in mesh_plink_timer()
734 spin_unlock_bh(&sta->mesh->plink_lock); in mesh_plink_timer()
737 sta->mesh->llid, sta->mesh->plid, reason); in mesh_plink_timer()
742 sta->mesh->plink_timeout = timeout; in mesh_plink_timer_set()
743 mod_timer(&sta->mesh->plink_timer, jiffies + msecs_to_jiffies(timeout)); in mesh_plink_timer_set()
758 if (!memcmp(&sta->mesh->llid, &llid, sizeof(llid))) { in llid_in_use()
787 spin_lock_bh(&sta->mesh->plink_lock); in mesh_plink_open()
788 sta->mesh->llid = mesh_get_new_llid(sdata); in mesh_plink_open()
789 if (sta->mesh->plink_state != NL80211_PLINK_LISTEN && in mesh_plink_open()
790 sta->mesh->plink_state != NL80211_PLINK_BLOCKED) { in mesh_plink_open()
791 spin_unlock_bh(&sta->mesh->plink_lock); in mesh_plink_open()
794 sta->mesh->plink_state = NL80211_PLINK_OPN_SNT; in mesh_plink_open()
795 mesh_plink_timer_set(sta, sdata->u.mesh.mshcfg.dot11MeshRetryTimeout); in mesh_plink_open()
796 spin_unlock_bh(&sta->mesh->plink_lock); in mesh_plink_open()
805 sta->sta.addr, sta->mesh->llid, 0, 0); in mesh_plink_open()
813 spin_lock_bh(&sta->mesh->plink_lock); in mesh_plink_block()
815 sta->mesh->plink_state = NL80211_PLINK_BLOCKED; in mesh_plink_block()
816 spin_unlock_bh(&sta->mesh->plink_lock); in mesh_plink_block()
826 struct mesh_config *mshcfg = &sdata->u.mesh.mshcfg; in mesh_plink_close()
830 sta->mesh->reason = reason; in mesh_plink_close()
831 sta->mesh->plink_state = NL80211_PLINK_HOLDING; in mesh_plink_close()
838 struct mesh_config *mshcfg = &sdata->u.mesh.mshcfg; in mesh_plink_establish()
841 del_timer(&sta->mesh->plink_timer); in mesh_plink_establish()
842 sta->mesh->plink_state = NL80211_PLINK_ESTAB; in mesh_plink_establish()
864 struct mesh_config *mshcfg = &sdata->u.mesh.mshcfg; in mesh_plink_fsm()
870 mplstates[sta->mesh->plink_state], mplevents[event]); in mesh_plink_fsm()
872 spin_lock_bh(&sta->mesh->plink_lock); in mesh_plink_fsm()
873 switch (sta->mesh->plink_state) { in mesh_plink_fsm()
880 sta->mesh->plink_state = NL80211_PLINK_OPN_RCVD; in mesh_plink_fsm()
881 sta->mesh->llid = mesh_get_new_llid(sdata); in mesh_plink_fsm()
903 sta->mesh->plink_state = NL80211_PLINK_OPN_RCVD; in mesh_plink_fsm()
907 sta->mesh->plink_state = NL80211_PLINK_CNF_RCVD; in mesh_plink_fsm()
968 del_timer(&sta->mesh->plink_timer); in mesh_plink_fsm()
987 spin_unlock_bh(&sta->mesh->plink_lock); in mesh_plink_fsm()
992 sta->mesh->llid, sta->mesh->plid, in mesh_plink_fsm()
993 sta->mesh->reason); in mesh_plink_fsm()
999 sta->sta.addr, sta->mesh->llid, in mesh_plink_fsm()
1000 sta->mesh->plid, 0); in mesh_plink_fsm()
1059 if (sta->mesh->plink_state == NL80211_PLINK_BLOCKED) in mesh_plink_get_event()
1068 (sta->mesh->plid && sta->mesh->plid != plid)) in mesh_plink_get_event()
1077 sta->mesh->llid != llid || in mesh_plink_get_event()
1078 (sta->mesh->plid && sta->mesh->plid != plid)) in mesh_plink_get_event()
1084 if (sta->mesh->plink_state == NL80211_PLINK_ESTAB) in mesh_plink_get_event()
1095 else if (sta->mesh->plid != plid) in mesh_plink_get_event()
1097 else if (ie_len == 8 && sta->mesh->llid != llid) in mesh_plink_get_event()
1132 sdata->u.mesh.security == IEEE80211_MESH_SEC_NONE) { in mesh_process_plink_frame()
1185 sta->mesh->plid = plid; in mesh_process_plink_frame()
1198 if (!sta->mesh->plid) in mesh_process_plink_frame()
1199 sta->mesh->plid = plid; in mesh_process_plink_frame()
1201 sta->mesh->aid = get_unaligned_le16(PLINK_CNF_AID(mgmt)); in mesh_process_plink_frame()
1225 if (sdata->u.mesh.user_mpm) in mesh_rx_plink_frame()