Lines Matching defs:ifmsh
240 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
246 if (time_before(jiffies, ifmsh->next_perr))
289 ifmsh->next_perr = TU_TO_EXP_TIME(
290 ifmsh->mshcfg.dot11MeshHWMPperrMinInterval);
577 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
605 if (SN_GT(target_sn, ifmsh->sn))
606 ifmsh->sn = target_sn;
608 if (time_after(jiffies, ifmsh->last_sn_update +
610 time_before(jiffies, ifmsh->last_sn_update)) {
611 ++ifmsh->sn;
612 ifmsh->last_sn_update = jiffies;
614 target_sn = ifmsh->sn;
623 target_sn = ++ifmsh->sn;
625 ifmsh->last_sn_update = jiffies;
653 ttl = ifmsh->mshcfg.element_ttl;
662 ifmsh->mshstats.dropped_frames_ttl++;
666 if (forward && ifmsh->mshcfg.dot11MeshForwarding) {
673 ifmsh->mshstats.dropped_frames_ttl++;
693 ifmsh->mshstats.fwded_unicast++;
695 ifmsh->mshstats.fwded_mcast++;
696 ifmsh->mshstats.fwded_frames++;
713 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
728 if (!ifmsh->mshcfg.dot11MeshForwarding)
775 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
785 ifmsh->mshstats.dropped_frames_ttl++;
811 if (!ifmsh->mshcfg.dot11MeshForwarding)
827 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
905 ifmsh->mshstats.dropped_frames_ttl++;
911 if (ifmsh->mshcfg.dot11MeshForwarding) {
992 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1001 spin_lock_bh(&ifmsh->mesh_preq_queue_lock);
1002 if (ifmsh->preq_queue_len == MAX_PREQ_QUEUE_LEN) {
1003 spin_unlock_bh(&ifmsh->mesh_preq_queue_lock);
1013 spin_unlock_bh(&ifmsh->mesh_preq_queue_lock);
1024 list_add_tail(&preq_node->list, &ifmsh->preq_queue.list);
1025 ++ifmsh->preq_queue_len;
1026 spin_unlock_bh(&ifmsh->mesh_preq_queue_lock);
1028 if (time_after(jiffies, ifmsh->last_preq + min_preq_int_jiff(sdata)))
1031 else if (time_before(jiffies, ifmsh->last_preq)) {
1035 ifmsh->last_preq = jiffies - min_preq_int_jiff(sdata) - 1;
1038 mod_timer(&ifmsh->mesh_path_timer, ifmsh->last_preq +
1049 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1056 spin_lock_bh(&ifmsh->mesh_preq_queue_lock);
1057 if (!ifmsh->preq_queue_len ||
1058 time_before(jiffies, ifmsh->last_preq +
1060 spin_unlock_bh(&ifmsh->mesh_preq_queue_lock);
1064 preq_node = list_first_entry(&ifmsh->preq_queue.list,
1067 --ifmsh->preq_queue_len;
1068 spin_unlock_bh(&ifmsh->mesh_preq_queue_lock);
1098 ifmsh->last_preq = jiffies;
1100 if (time_after(jiffies, ifmsh->last_sn_update +
1102 time_before(jiffies, ifmsh->last_sn_update)) {
1103 ++ifmsh->sn;
1121 mesh_path_sel_frame_tx(MPATH_PREQ, 0, sdata->vif.addr, ifmsh->sn,
1123 ttl, lifetime, 0, ifmsh->preq_id++, sdata);
1254 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1260 if (ifmsh->mshcfg.dot11MeshNolearn &&
1320 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1321 u32 interval = ifmsh->mshcfg.dot11MeshHWMPRannInterval;
1324 flags = (ifmsh->mshcfg.dot11MeshGateAnnouncementProtocol)
1327 switch (ifmsh->mshcfg.dot11MeshHWMPRootMode) {
1330 ++ifmsh->sn, 0, NULL, 0, broadcast_addr,
1331 0, ifmsh->mshcfg.element_ttl,
1338 interval = ifmsh->mshcfg.dot11MeshHWMPactivePathToRootTimeout;
1342 ++ifmsh->sn, target_flags,
1344 0, ifmsh->mshcfg.element_ttl, interval,
1345 0, ifmsh->preq_id++, sdata);