Lines Matching refs:ifmsh

245 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;  in mesh_path_error_tx()  local
251 if (time_before(jiffies, ifmsh->next_perr)) in mesh_path_error_tx()
300 ifmsh->next_perr = TU_TO_EXP_TIME( in mesh_path_error_tx()
301 ifmsh->mshcfg.dot11MeshHWMPperrMinInterval); in mesh_path_error_tx()
515 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in hwmp_preq_frame_process() local
543 if (time_after(jiffies, ifmsh->last_sn_update + in hwmp_preq_frame_process()
545 time_before(jiffies, ifmsh->last_sn_update)) { in hwmp_preq_frame_process()
546 ++ifmsh->sn; in hwmp_preq_frame_process()
547 ifmsh->last_sn_update = jiffies; in hwmp_preq_frame_process()
549 target_sn = ifmsh->sn; in hwmp_preq_frame_process()
558 target_sn = ++ifmsh->sn; in hwmp_preq_frame_process()
560 ifmsh->last_sn_update = jiffies; in hwmp_preq_frame_process()
590 ttl = ifmsh->mshcfg.element_ttl; in hwmp_preq_frame_process()
598 ifmsh->mshstats.dropped_frames_ttl++; in hwmp_preq_frame_process()
602 if (forward && ifmsh->mshcfg.dot11MeshForwarding) { in hwmp_preq_frame_process()
609 ifmsh->mshstats.dropped_frames_ttl++; in hwmp_preq_frame_process()
630 ifmsh->mshstats.fwded_unicast++; in hwmp_preq_frame_process()
632 ifmsh->mshstats.fwded_mcast++; in hwmp_preq_frame_process()
633 ifmsh->mshstats.fwded_frames++; in hwmp_preq_frame_process()
650 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in hwmp_prep_frame_process() local
665 if (!ifmsh->mshcfg.dot11MeshForwarding) in hwmp_prep_frame_process()
712 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in hwmp_perr_frame_process() local
722 ifmsh->mshstats.dropped_frames_ttl++; in hwmp_perr_frame_process()
744 if (!ifmsh->mshcfg.dot11MeshForwarding) in hwmp_perr_frame_process()
760 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in hwmp_rann_frame_process() local
835 ifmsh->mshstats.dropped_frames_ttl++; in hwmp_rann_frame_process()
841 if (ifmsh->mshcfg.dot11MeshForwarding) { in hwmp_rann_frame_process()
918 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_queue_preq() local
927 spin_lock_bh(&ifmsh->mesh_preq_queue_lock); in mesh_queue_preq()
928 if (ifmsh->preq_queue_len == MAX_PREQ_QUEUE_LEN) { in mesh_queue_preq()
929 spin_unlock_bh(&ifmsh->mesh_preq_queue_lock); in mesh_queue_preq()
939 spin_unlock_bh(&ifmsh->mesh_preq_queue_lock); in mesh_queue_preq()
950 list_add_tail(&preq_node->list, &ifmsh->preq_queue.list); in mesh_queue_preq()
951 ++ifmsh->preq_queue_len; in mesh_queue_preq()
952 spin_unlock_bh(&ifmsh->mesh_preq_queue_lock); in mesh_queue_preq()
954 if (time_after(jiffies, ifmsh->last_preq + min_preq_int_jiff(sdata))) in mesh_queue_preq()
957 else if (time_before(jiffies, ifmsh->last_preq)) { in mesh_queue_preq()
961 ifmsh->last_preq = jiffies - min_preq_int_jiff(sdata) - 1; in mesh_queue_preq()
964 mod_timer(&ifmsh->mesh_path_timer, ifmsh->last_preq + in mesh_queue_preq()
975 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_path_start_discovery() local
982 spin_lock_bh(&ifmsh->mesh_preq_queue_lock); in mesh_path_start_discovery()
983 if (!ifmsh->preq_queue_len || in mesh_path_start_discovery()
984 time_before(jiffies, ifmsh->last_preq + in mesh_path_start_discovery()
986 spin_unlock_bh(&ifmsh->mesh_preq_queue_lock); in mesh_path_start_discovery()
990 preq_node = list_first_entry(&ifmsh->preq_queue.list, in mesh_path_start_discovery()
993 --ifmsh->preq_queue_len; in mesh_path_start_discovery()
994 spin_unlock_bh(&ifmsh->mesh_preq_queue_lock); in mesh_path_start_discovery()
1020 ifmsh->last_preq = jiffies; in mesh_path_start_discovery()
1022 if (time_after(jiffies, ifmsh->last_sn_update + in mesh_path_start_discovery()
1024 time_before(jiffies, ifmsh->last_sn_update)) { in mesh_path_start_discovery()
1025 ++ifmsh->sn; in mesh_path_start_discovery()
1043 mesh_path_sel_frame_tx(MPATH_PREQ, 0, sdata->vif.addr, ifmsh->sn, in mesh_path_start_discovery()
1045 ttl, lifetime, 0, ifmsh->preq_id++, sdata); in mesh_path_start_discovery()
1194 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_path_tx_root_frame() local
1195 u32 interval = ifmsh->mshcfg.dot11MeshHWMPRannInterval; in mesh_path_tx_root_frame()
1198 flags = (ifmsh->mshcfg.dot11MeshGateAnnouncementProtocol) in mesh_path_tx_root_frame()
1201 switch (ifmsh->mshcfg.dot11MeshHWMPRootMode) { in mesh_path_tx_root_frame()
1204 ++ifmsh->sn, 0, NULL, 0, broadcast_addr, in mesh_path_tx_root_frame()
1205 0, ifmsh->mshcfg.element_ttl, in mesh_path_tx_root_frame()
1211 interval = ifmsh->mshcfg.dot11MeshHWMPactivePathToRootTimeout; in mesh_path_tx_root_frame()
1215 ++ifmsh->sn, target_flags, in mesh_path_tx_root_frame()
1217 0, ifmsh->mshcfg.element_ttl, interval, in mesh_path_tx_root_frame()
1218 0, ifmsh->preq_id++, sdata); in mesh_path_tx_root_frame()