Lines Matching refs:ifmsh
240 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_path_error_tx() local
246 if (time_before(jiffies, ifmsh->next_perr)) in mesh_path_error_tx()
289 ifmsh->next_perr = TU_TO_EXP_TIME( in mesh_path_error_tx()
290 ifmsh->mshcfg.dot11MeshHWMPperrMinInterval); in mesh_path_error_tx()
568 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in hwmp_preq_frame_process() local
596 if (SN_GT(target_sn, ifmsh->sn)) in hwmp_preq_frame_process()
597 ifmsh->sn = target_sn; in hwmp_preq_frame_process()
599 if (time_after(jiffies, ifmsh->last_sn_update + in hwmp_preq_frame_process()
601 time_before(jiffies, ifmsh->last_sn_update)) { in hwmp_preq_frame_process()
602 ++ifmsh->sn; in hwmp_preq_frame_process()
603 ifmsh->last_sn_update = jiffies; in hwmp_preq_frame_process()
605 target_sn = ifmsh->sn; in hwmp_preq_frame_process()
614 target_sn = ++ifmsh->sn; in hwmp_preq_frame_process()
616 ifmsh->last_sn_update = jiffies; in hwmp_preq_frame_process()
644 ttl = ifmsh->mshcfg.element_ttl; in hwmp_preq_frame_process()
653 ifmsh->mshstats.dropped_frames_ttl++; in hwmp_preq_frame_process()
657 if (forward && ifmsh->mshcfg.dot11MeshForwarding) { in hwmp_preq_frame_process()
664 ifmsh->mshstats.dropped_frames_ttl++; in hwmp_preq_frame_process()
684 ifmsh->mshstats.fwded_unicast++; in hwmp_preq_frame_process()
686 ifmsh->mshstats.fwded_mcast++; in hwmp_preq_frame_process()
687 ifmsh->mshstats.fwded_frames++; in hwmp_preq_frame_process()
704 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in hwmp_prep_frame_process() local
719 if (!ifmsh->mshcfg.dot11MeshForwarding) in hwmp_prep_frame_process()
766 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in hwmp_perr_frame_process() local
776 ifmsh->mshstats.dropped_frames_ttl++; in hwmp_perr_frame_process()
802 if (!ifmsh->mshcfg.dot11MeshForwarding) in hwmp_perr_frame_process()
818 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in hwmp_rann_frame_process() local
896 ifmsh->mshstats.dropped_frames_ttl++; in hwmp_rann_frame_process()
902 if (ifmsh->mshcfg.dot11MeshForwarding) { in hwmp_rann_frame_process()
983 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_queue_preq() local
992 spin_lock_bh(&ifmsh->mesh_preq_queue_lock); in mesh_queue_preq()
993 if (ifmsh->preq_queue_len == MAX_PREQ_QUEUE_LEN) { in mesh_queue_preq()
994 spin_unlock_bh(&ifmsh->mesh_preq_queue_lock); in mesh_queue_preq()
1004 spin_unlock_bh(&ifmsh->mesh_preq_queue_lock); in mesh_queue_preq()
1015 list_add_tail(&preq_node->list, &ifmsh->preq_queue.list); in mesh_queue_preq()
1016 ++ifmsh->preq_queue_len; in mesh_queue_preq()
1017 spin_unlock_bh(&ifmsh->mesh_preq_queue_lock); in mesh_queue_preq()
1019 if (time_after(jiffies, ifmsh->last_preq + min_preq_int_jiff(sdata))) in mesh_queue_preq()
1022 else if (time_before(jiffies, ifmsh->last_preq)) { in mesh_queue_preq()
1026 ifmsh->last_preq = jiffies - min_preq_int_jiff(sdata) - 1; in mesh_queue_preq()
1029 mod_timer(&ifmsh->mesh_path_timer, ifmsh->last_preq + in mesh_queue_preq()
1040 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_path_start_discovery() local
1047 spin_lock_bh(&ifmsh->mesh_preq_queue_lock); in mesh_path_start_discovery()
1048 if (!ifmsh->preq_queue_len || in mesh_path_start_discovery()
1049 time_before(jiffies, ifmsh->last_preq + in mesh_path_start_discovery()
1051 spin_unlock_bh(&ifmsh->mesh_preq_queue_lock); in mesh_path_start_discovery()
1055 preq_node = list_first_entry(&ifmsh->preq_queue.list, in mesh_path_start_discovery()
1058 --ifmsh->preq_queue_len; in mesh_path_start_discovery()
1059 spin_unlock_bh(&ifmsh->mesh_preq_queue_lock); in mesh_path_start_discovery()
1089 ifmsh->last_preq = jiffies; in mesh_path_start_discovery()
1091 if (time_after(jiffies, ifmsh->last_sn_update + in mesh_path_start_discovery()
1093 time_before(jiffies, ifmsh->last_sn_update)) { in mesh_path_start_discovery()
1094 ++ifmsh->sn; in mesh_path_start_discovery()
1112 mesh_path_sel_frame_tx(MPATH_PREQ, 0, sdata->vif.addr, ifmsh->sn, in mesh_path_start_discovery()
1114 ttl, lifetime, 0, ifmsh->preq_id++, sdata); in mesh_path_start_discovery()
1231 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_nexthop_lookup() local
1237 if (ifmsh->mshcfg.dot11MeshNolearn && in mesh_nexthop_lookup()
1301 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_path_tx_root_frame() local
1302 u32 interval = ifmsh->mshcfg.dot11MeshHWMPRannInterval; in mesh_path_tx_root_frame()
1305 flags = (ifmsh->mshcfg.dot11MeshGateAnnouncementProtocol) in mesh_path_tx_root_frame()
1308 switch (ifmsh->mshcfg.dot11MeshHWMPRootMode) { in mesh_path_tx_root_frame()
1311 ++ifmsh->sn, 0, NULL, 0, broadcast_addr, in mesh_path_tx_root_frame()
1312 0, ifmsh->mshcfg.element_ttl, in mesh_path_tx_root_frame()
1319 interval = ifmsh->mshcfg.dot11MeshHWMPactivePathToRootTimeout; in mesh_path_tx_root_frame()
1323 ++ifmsh->sn, target_flags, in mesh_path_tx_root_frame()
1325 0, ifmsh->mshcfg.element_ttl, interval, in mesh_path_tx_root_frame()
1326 0, ifmsh->preq_id++, sdata); in mesh_path_tx_root_frame()