/net/mac80211/ |
D | mesh_plink.c | 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() 124 sta->mesh->plink_state != NL80211_PLINK_ESTAB) in mesh_set_short_slot_time() 174 sta->mesh->plink_state != NL80211_PLINK_ESTAB) in mesh_set_ht_prot_mode() 204 sdata->u.mesh.mshcfg.ht_opmode = ht_opmode; in mesh_set_ht_prot_mode() 233 2 + sdata->u.mesh.mesh_id_len + in mesh_plink_frame_tx() [all …]
|
D | mesh_ps.c | 79 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in ieee80211_mps_local_status_update() 92 switch (sta->mesh->plink_state) { in ieee80211_mps_local_status_update() 99 if (sta->mesh->local_pm == NL80211_MESH_POWER_LIGHT_SLEEP) in ieee80211_mps_local_status_update() 101 else if (sta->mesh->local_pm == NL80211_MESH_POWER_DEEP_SLEEP) in ieee80211_mps_local_status_update() 153 if (sta->mesh->local_pm == pm) in ieee80211_mps_set_sta_local_pm() 159 sta->mesh->local_pm = pm; in ieee80211_mps_set_sta_local_pm() 165 if (sta->mesh->plink_state == NL80211_PLINK_ESTAB) in ieee80211_mps_set_sta_local_pm() 197 sta->mesh->plink_state == NL80211_PLINK_ESTAB) in ieee80211_mps_set_frame_flags() 198 pm = sta->mesh->local_pm; in ieee80211_mps_set_frame_flags() 200 pm = sdata->u.mesh.nonpeer_pm; in ieee80211_mps_set_frame_flags() [all …]
|
D | mesh_pathtbl.c | 239 return mpath_lookup(sdata->u.mesh.mesh_paths, dst, sdata); in mesh_path_lookup() 245 return mpath_lookup(sdata->u.mesh.mpp_paths, dst, sdata); in mpp_path_lookup() 282 return __mesh_path_lookup_by_idx(sdata->u.mesh.mesh_paths, idx); in mesh_path_lookup_by_idx() 297 return __mesh_path_lookup_by_idx(sdata->u.mesh.mpp_paths, idx); in mpp_path_lookup_by_idx() 310 tbl = mpath->sdata->u.mesh.mesh_paths; in mesh_path_add_gate() 319 mpath->sdata->u.mesh.num_gates++; in mesh_path_add_gate() 329 mpath->dst, mpath->sdata->u.mesh.num_gates); in mesh_path_add_gate() 350 mpath->sdata->u.mesh.num_gates--; in mesh_gate_del() 355 mpath->dst, mpath->sdata->u.mesh.num_gates); in mesh_gate_del() 364 return sdata->u.mesh.num_gates; in mesh_gate_num() [all …]
|
D | mesh_sync.c | 49 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_sync_adjust_tsf() 85 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_sync_offset_rx_bcn_presp() 130 sta->mesh->t_offset = t_t - t_r; in mesh_sync_offset_rx_bcn_presp() 133 s64 t_clockdrift = sta->mesh->t_offset_setpoint - sta->mesh->t_offset; in mesh_sync_offset_rx_bcn_presp() 136 sta->sta.addr, (long long) sta->mesh->t_offset, in mesh_sync_offset_rx_bcn_presp() 137 (long long) sta->mesh->t_offset_setpoint, in mesh_sync_offset_rx_bcn_presp() 155 sta->mesh->t_offset_setpoint = sta->mesh->t_offset - TOFFSET_SET_MARGIN; in mesh_sync_offset_rx_bcn_presp() 160 (long long) sta->mesh->t_offset); in mesh_sync_offset_rx_bcn_presp() 170 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_sync_offset_adjust_tsf()
|
D | mesh.c | 41 from_timer(sdata, t, u.mesh.housekeeping_timer); in ieee80211_mesh_housekeeping_timer() 43 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in ieee80211_mesh_housekeeping_timer() 62 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_matches_local() 141 if (free_plinks != sdata->u.mesh.accepting_plinks) { in mesh_accept_plinks_update() 142 sdata->u.mesh.accepting_plinks = free_plinks; in mesh_accept_plinks_update() 167 sdata->u.mesh.rmc = kmalloc(sizeof(struct mesh_rmc), GFP_KERNEL); in mesh_rmc_init() 168 if (!sdata->u.mesh.rmc) in mesh_rmc_init() 170 sdata->u.mesh.rmc->idx_mask = RMC_BUCKETS - 1; in mesh_rmc_init() 172 INIT_HLIST_HEAD(&sdata->u.mesh.rmc->bucket[i]); in mesh_rmc_init() 178 struct mesh_rmc *rmc = sdata->u.mesh.rmc; in mesh_rmc_free() [all …]
|
D | debugfs_netdev.c | 588 IEEE80211_IF_FILE(estab_plinks, u.mesh.estab_plinks, ATOMIC); 591 IEEE80211_IF_FILE(fwded_mcast, u.mesh.mshstats.fwded_mcast, DEC); 592 IEEE80211_IF_FILE(fwded_unicast, u.mesh.mshstats.fwded_unicast, DEC); 593 IEEE80211_IF_FILE(fwded_frames, u.mesh.mshstats.fwded_frames, DEC); 594 IEEE80211_IF_FILE(dropped_frames_ttl, u.mesh.mshstats.dropped_frames_ttl, DEC); 596 u.mesh.mshstats.dropped_frames_congestion, DEC); 598 u.mesh.mshstats.dropped_frames_no_route, DEC); 602 u.mesh.mshcfg.dot11MeshMaxRetries, DEC); 604 u.mesh.mshcfg.dot11MeshRetryTimeout, DEC); 606 u.mesh.mshcfg.dot11MeshConfirmTimeout, DEC); [all …]
|
D | Kconfig | 61 bool "Enable mac80211 mesh networking support" 64 Select this option to enable 802.11 mesh operation in mac80211 65 drivers that support it. 802.11 mesh connects multiple stations 200 bool "Verbose mesh peer link debugging" 205 verbose mesh peer link debugging messages (when mac80211 206 is taking part in a mesh network). 213 bool "Verbose mesh path debugging" 218 verbose mesh path selection debugging messages (when mac80211 219 is taking part in a mesh network). 226 bool "Verbose mesh HWMP routing debugging" [all …]
|
D | mesh_hwmp.c | 80 msecs_to_jiffies(s->u.mesh.mshcfg.dot11MeshHWMPnetDiameterTraversalTime) 82 MSEC_TO_TU(s->u.mesh.mshcfg.dot11MeshHWMPactivePathTimeout) 84 (msecs_to_jiffies(s->u.mesh.mshcfg.dot11MeshHWMPpreqMinInterval)) 85 #define max_preq_retries(s) (s->u.mesh.mshcfg.dot11MeshHWMPmaxPREQretries) 87 msecs_to_jiffies(sdata->u.mesh.mshcfg.min_discovery_timeout) 89 msecs_to_jiffies(sdata->u.mesh.mshcfg.dot11MeshHWMPconfirmationInterval) 240 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_path_error_tx() 308 ewma_mesh_fail_avg_add(&sta->mesh->fail_avg, failed * 100); in ieee80211s_update_metric() 309 if (ewma_mesh_fail_avg_read(&sta->mesh->fail_avg) > in ieee80211s_update_metric() 314 ewma_mesh_tx_rate_avg_add(&sta->mesh->tx_rate_avg, in ieee80211s_update_metric() [all …]
|
D | mesh.h | 204 void mesh_ids_set_default(struct ieee80211_if_mesh *mesh); 324 atomic_inc(&sdata->u.mesh.estab_plinks); in mesh_plink_inc_estab_count() 331 atomic_dec(&sdata->u.mesh.estab_plinks); in mesh_plink_dec_estab_count() 337 return sdata->u.mesh.mshcfg.dot11MeshMaxPeerLinks - in mesh_plink_free_count() 338 atomic_read(&sdata->u.mesh.estab_plinks); in mesh_plink_free_count() 354 return sdata->u.mesh.mesh_pp_id == IEEE80211_PATH_PROTOCOL_HWMP; in mesh_path_sel_is_hwmp()
|
D | sta_info.c | 99 ps = &sdata->u.mesh.ps; in __cleanup_single_sta() 255 kfree(sta->mesh); in sta_info_free() 329 sta->mesh = kzalloc(sizeof(*sta->mesh), gfp); in sta_info_alloc() 330 if (!sta->mesh) in sta_info_alloc() 332 sta->mesh->plink_sta = sta; in sta_info_alloc() 333 spin_lock_init(&sta->mesh->plink_lock); in sta_info_alloc() 335 !sdata->u.mesh.user_mpm) in sta_info_alloc() 336 timer_setup(&sta->mesh->plink_timer, mesh_plink_timer, in sta_info_alloc() 338 sta->mesh->nonpeer_pm = NL80211_MESH_POWER_ACTIVE; in sta_info_alloc() 493 kfree(sta->mesh); in sta_info_alloc() [all …]
|
D | cfg.c | 472 if (sdata->u.mesh.security != IEEE80211_MESH_SEC_NONE) in ieee80211_add_key() 1275 if (sta->mesh->plink_state != NL80211_PLINK_ESTAB) in sta_apply_mesh_params() 1277 sta->mesh->plink_state = params->plink_state; in sta_apply_mesh_params() 1278 sta->mesh->aid = params->peer_aid; in sta_apply_mesh_params() 1282 sdata->u.mesh.mshcfg.power_mode); in sta_apply_mesh_params() 1284 ewma_mesh_tx_rate_avg_init(&sta->mesh->tx_rate_avg); in sta_apply_mesh_params() 1286 ewma_mesh_tx_rate_avg_add(&sta->mesh->tx_rate_avg, 10); in sta_apply_mesh_params() 1295 if (sta->mesh->plink_state == NL80211_PLINK_ESTAB) in sta_apply_mesh_params() 1297 sta->mesh->plink_state = params->plink_state; in sta_apply_mesh_params() 1624 if (sdata->u.mesh.user_mpm) in ieee80211_change_station() [all …]
|
D | Makefile | 45 mesh.o \
|
D | sta_info.h | 542 struct mesh_sta *mesh; member 632 return sta->mesh->plink_state; in sta_plink_state()
|
D | offchannel.c | 810 !sdata->u.mesh.mesh_id_len) in ieee80211_mgmt_tx() 910 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_mgmt_tx()
|
D | tx.c | 366 ps = &sdata->u.mesh.ps; in purge_old_ps_buffers() 423 ps = &tx->sdata->u.mesh.ps; in ieee80211_tx_h_multicast_ps_buf() 4343 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_csa_update_counter() 4368 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_csa_set_counter() 4411 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in ieee80211_csa_is_complete() 4534 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in __ieee80211_beacon_get() 4897 ps = &sdata->u.mesh.ps; in ieee80211_get_buffered_bc()
|
D | util.c | 3510 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in ieee80211_send_action_csa() 3515 *pos++ = sdata->u.mesh.mshcfg.dot11MeshTTL; /* Mesh TTL */ in ieee80211_send_action_csa() 3772 ps = &sdata->u.mesh.ps; in ieee80211_recalc_dtim()
|
D | ieee80211_i.h | 972 struct ieee80211_if_mesh mesh; member
|
D | rx.c | 2675 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in ieee80211_rx_h_mesh_fwding() 3309 if (sdata->u.mesh.user_mpm) in ieee80211_rx_h_action()
|
/net/batman-adv/ |
D | Kconfig | 16 a routing protocol for multi-hop ad-hoc mesh networks. The 18 https://www.open-mesh.org/ for more information and user space 42 to avoid Ethernet frames looping when mesh nodes are connected 43 to both the same LAN and the same mesh. If you will never use 44 more than one mesh node in the same LAN, you can safely remove 54 mesh networks. If you think that your network does not need
|
/net/wireless/ |
D | Makefile | 14 cfg80211-y += mlme.o ibss.o sme.o chan.o ethtool.o mesh.o ap.o trace.o ocb.o
|