Home
last modified time | relevance | path

Searched refs:mesh (Results 1 – 20 of 20) sorted by relevance

/net/mac80211/
Dmesh_plink.c20 #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 …]
Dmesh_ps.c79 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 …]
Dmesh_pathtbl.c239 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 …]
Dmesh_sync.c49 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()
Dmesh.c41 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 …]
Ddebugfs_netdev.c588 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 …]
DKconfig61 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 …]
Dmesh_hwmp.c80 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 …]
Dmesh.h204 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()
Dsta_info.c99 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 …]
Dcfg.c472 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 …]
DMakefile45 mesh.o \
Dsta_info.h542 struct mesh_sta *mesh; member
632 return sta->mesh->plink_state; in sta_plink_state()
Doffchannel.c810 !sdata->u.mesh.mesh_id_len) in ieee80211_mgmt_tx()
910 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_mgmt_tx()
Dtx.c366 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()
Dutil.c3510 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()
Dieee80211_i.h972 struct ieee80211_if_mesh mesh; member
Drx.c2675 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/
DKconfig16 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/
DMakefile14 cfg80211-y += mlme.o ibss.o sme.o chan.o ethtool.o mesh.o ap.o trace.o ocb.o