/Linux-v6.6/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() 125 sta->mesh->plink_state != NL80211_PLINK_ESTAB) in mesh_set_short_slot_time() 176 sta->mesh->plink_state != NL80211_PLINK_ESTAB) in mesh_set_ht_prot_mode() 206 sdata->u.mesh.mshcfg.ht_opmode = ht_opmode; in mesh_set_ht_prot_mode() 237 2 + sdata->u.mesh.mesh_id_len + in mesh_plink_frame_tx() [all …]
|
D | mesh_ps.c | 83 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in ieee80211_mps_local_status_update() 96 switch (sta->mesh->plink_state) { in ieee80211_mps_local_status_update() 103 if (sta->mesh->local_pm == NL80211_MESH_POWER_LIGHT_SLEEP) in ieee80211_mps_local_status_update() 105 else if (sta->mesh->local_pm == NL80211_MESH_POWER_DEEP_SLEEP) in ieee80211_mps_local_status_update() 157 if (sta->mesh->local_pm == pm) in ieee80211_mps_set_sta_local_pm() 163 sta->mesh->local_pm = pm; in ieee80211_mps_set_sta_local_pm() 169 if (sta->mesh->plink_state == NL80211_PLINK_ESTAB) in ieee80211_mps_set_sta_local_pm() 201 sta->mesh->plink_state == NL80211_PLINK_ESTAB) in ieee80211_mps_set_frame_flags() 202 pm = sta->mesh->local_pm; in ieee80211_mps_set_frame_flags() 204 pm = sdata->u.mesh.nonpeer_pm; in ieee80211_mps_set_frame_flags() [all …]
|
D | mesh_pathtbl.c | 56 cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_deinit() 65 cache = &sdata->u.mesh.tx_cache; in mesh_fast_tx_init() 269 return mpath_lookup(&sdata->u.mesh.mesh_paths, dst, sdata); in mesh_path_lookup() 275 return mpath_lookup(&sdata->u.mesh.mpp_paths, dst, sdata); in mpp_path_lookup() 312 return __mesh_path_lookup_by_idx(&sdata->u.mesh.mesh_paths, idx); in mesh_path_lookup_by_idx() 327 return __mesh_path_lookup_by_idx(&sdata->u.mesh.mpp_paths, idx); in mpp_path_lookup_by_idx() 340 tbl = &mpath->sdata->u.mesh.mesh_paths; in mesh_path_add_gate() 349 mpath->sdata->u.mesh.num_gates++; in mesh_path_add_gate() 359 mpath->dst, mpath->sdata->u.mesh.num_gates); in mesh_path_add_gate() 380 mpath->sdata->u.mesh.num_gates--; in mesh_gate_del() [all …]
|
D | mesh_sync.c | 50 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_sync_adjust_tsf() 86 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_sync_offset_rx_bcn_presp() 128 sta->mesh->t_offset = t_t - t_r; in mesh_sync_offset_rx_bcn_presp() 131 s64 t_clockdrift = sta->mesh->t_offset_setpoint - sta->mesh->t_offset; in mesh_sync_offset_rx_bcn_presp() 134 sta->sta.addr, (long long) sta->mesh->t_offset, in mesh_sync_offset_rx_bcn_presp() 135 (long long) sta->mesh->t_offset_setpoint, in mesh_sync_offset_rx_bcn_presp() 153 sta->mesh->t_offset_setpoint = sta->mesh->t_offset - TOFFSET_SET_MARGIN; in mesh_sync_offset_rx_bcn_presp() 158 (long long) sta->mesh->t_offset); in mesh_sync_offset_rx_bcn_presp() 168 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_sync_offset_adjust_tsf()
|
D | mesh.c | 42 from_timer(sdata, t, u.mesh.housekeeping_timer); in ieee80211_mesh_housekeeping_timer() 44 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in ieee80211_mesh_housekeeping_timer() 63 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; in mesh_matches_local() 149 if (free_plinks != sdata->u.mesh.accepting_plinks) { in mesh_accept_plinks_update() 150 sdata->u.mesh.accepting_plinks = free_plinks; in mesh_accept_plinks_update() 175 sdata->u.mesh.rmc = kmalloc(sizeof(struct mesh_rmc), GFP_KERNEL); in mesh_rmc_init() 176 if (!sdata->u.mesh.rmc) in mesh_rmc_init() 178 sdata->u.mesh.rmc->idx_mask = RMC_BUCKETS - 1; in mesh_rmc_init() 180 INIT_HLIST_HEAD(&sdata->u.mesh.rmc->bucket[i]); in mesh_rmc_init() 186 struct mesh_rmc *rmc = sdata->u.mesh.rmc; in mesh_rmc_free() [all …]
|
D | debugfs_netdev.c | 629 IEEE80211_IF_FILE(estab_plinks, u.mesh.estab_plinks, ATOMIC); 632 IEEE80211_IF_FILE(fwded_mcast, u.mesh.mshstats.fwded_mcast, DEC); 633 IEEE80211_IF_FILE(fwded_unicast, u.mesh.mshstats.fwded_unicast, DEC); 634 IEEE80211_IF_FILE(fwded_frames, u.mesh.mshstats.fwded_frames, DEC); 635 IEEE80211_IF_FILE(dropped_frames_ttl, u.mesh.mshstats.dropped_frames_ttl, DEC); 637 u.mesh.mshstats.dropped_frames_no_route, DEC); 641 u.mesh.mshcfg.dot11MeshMaxRetries, DEC); 643 u.mesh.mshcfg.dot11MeshRetryTimeout, DEC); 645 u.mesh.mshcfg.dot11MeshConfirmTimeout, DEC); 647 u.mesh.mshcfg.dot11MeshHoldingTimeout, 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() 319 ewma_mesh_tx_rate_avg_add(&sta->mesh->tx_rate_avg, in ieee80211s_update_metric() [all …]
|
D | mesh.h | 354 atomic_inc(&sdata->u.mesh.estab_plinks); in mesh_plink_inc_estab_count() 361 atomic_dec(&sdata->u.mesh.estab_plinks); in mesh_plink_dec_estab_count() 367 return sdata->u.mesh.mshcfg.dot11MeshMaxPeerLinks - in mesh_plink_free_count() 368 atomic_read(&sdata->u.mesh.estab_plinks); in mesh_plink_free_count() 384 return sdata->u.mesh.mesh_pp_id == IEEE80211_PATH_PROTOCOL_HWMP; in mesh_path_sel_is_hwmp()
|
D | sta_info.c | 132 ps = &sdata->u.mesh.ps; in __cleanup_single_sta() 433 kfree(sta->mesh); in sta_info_free() 563 sta->mesh = kzalloc(sizeof(*sta->mesh), gfp); in __sta_info_alloc() 564 if (!sta->mesh) in __sta_info_alloc() 566 sta->mesh->plink_sta = sta; in __sta_info_alloc() 567 spin_lock_init(&sta->mesh->plink_lock); in __sta_info_alloc() 568 if (!sdata->u.mesh.user_mpm) in __sta_info_alloc() 569 timer_setup(&sta->mesh->plink_timer, mesh_plink_timer, in __sta_info_alloc() 571 sta->mesh->nonpeer_pm = NL80211_MESH_POWER_ACTIVE; in __sta_info_alloc() 695 kfree(sta->mesh); in __sta_info_alloc() [all …]
|
D | Makefile | 49 mesh.o \
|
D | cfg.c | 550 if (sdata->u.mesh.security != IEEE80211_MESH_SEC_NONE) in ieee80211_add_key() 1740 if (sta->mesh->plink_state != NL80211_PLINK_ESTAB) in sta_apply_mesh_params() 1742 sta->mesh->plink_state = params->plink_state; in sta_apply_mesh_params() 1743 sta->mesh->aid = params->peer_aid; in sta_apply_mesh_params() 1747 sdata->u.mesh.mshcfg.power_mode); in sta_apply_mesh_params() 1749 ewma_mesh_tx_rate_avg_init(&sta->mesh->tx_rate_avg); in sta_apply_mesh_params() 1751 ewma_mesh_tx_rate_avg_add(&sta->mesh->tx_rate_avg, 10); in sta_apply_mesh_params() 1760 if (sta->mesh->plink_state == NL80211_PLINK_ESTAB) in sta_apply_mesh_params() 1762 sta->mesh->plink_state = params->plink_state; in sta_apply_mesh_params() 2139 if (sdata->u.mesh.user_mpm) in ieee80211_change_station() [all …]
|
D | sta_info.h | 670 struct mesh_sta *mesh; member 734 return sta->mesh->plink_state; in sta_plink_state()
|
D | offchannel.c | 798 !sdata->u.mesh.mesh_id_len) in ieee80211_mgmt_tx() 932 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_mgmt_tx()
|
/Linux-v6.6/net/wireless/ |
D | mesh.c | 121 if (wdev->u.mesh.id_len) in __cfg80211_join_mesh() 132 setup->chandef = wdev->u.mesh.preset_chandef; in __cfg80211_join_mesh() 216 memcpy(wdev->u.mesh.id, setup->mesh_id, setup->mesh_id_len); in __cfg80211_join_mesh() 217 wdev->u.mesh.id_len = setup->mesh_id_len; in __cfg80211_join_mesh() 218 wdev->u.mesh.chandef = setup->chandef; in __cfg80211_join_mesh() 219 wdev->u.mesh.beacon_interval = setup->beacon_interval; in __cfg80211_join_mesh() 248 wdev->u.mesh.chandef = *chandef; in cfg80211_set_mesh_channel() 253 if (wdev->u.mesh.id_len) in cfg80211_set_mesh_channel() 256 wdev->u.mesh.preset_chandef = *chandef; in cfg80211_set_mesh_channel() 274 if (!wdev->u.mesh.id_len) in __cfg80211_leave_mesh() [all …]
|
D | Makefile | 14 cfg80211-y += mlme.o ibss.o sme.o chan.o ethtool.o mesh.o ap.o trace.o ocb.o
|
D | chan.c | 731 if (wdev->u.mesh.id_len) in cfg80211_beaconing_iface_active() 771 return cfg80211_is_sub_chan(&wdev->u.mesh.chandef, chan, in cfg80211_wdev_on_sub_chan() 1450 return &wdev->u.mesh.chandef; in wdev_chandef()
|
/Linux-v6.6/net/batman-adv/ |
D | Kconfig | 15 a routing protocol for multi-hop ad-hoc mesh networks. The 17 https://www.open-mesh.org/ for more information and user space 41 to avoid Ethernet frames looping when mesh nodes are connected 42 to both the same LAN and the same mesh. If you will never use 43 more than one mesh node in the same LAN, you can safely remove 53 mesh networks. If you think that your network does not need
|
/Linux-v6.6/Documentation/networking/ |
D | batman-adv.rst | 56 There are additional settings for each batadv mesh interface, vlan and hardif 72 lower value. This will make the mesh more responsive to topology changes, but 83 To make use of your newly created mesh, batman advanced provides a new 117 When investigating problems with your mesh network, it is sometimes necessary to 151 batctl is available on https://www.open-mesh.org/ 162 b.a.t.m.a.n@lists.open-mesh.org (optional subscription at 163 https://lists.open-mesh.org/mailman3/postorius/lists/b.a.t.m.a.n.lists.open-mesh.org/)
|
/Linux-v6.6/drivers/scsi/ |
D | mesh.c | 145 volatile struct mesh_regs __iomem *mesh; member 223 tlp->bs0 = ms->mesh->bus_status0; in dlog() 224 tlp->bs1 = ms->mesh->bus_status1; in dlog() 305 volatile struct mesh_regs __iomem *mr = ms->mesh; in mesh_dump_regs() 351 volatile struct mesh_regs __iomem *mr = ms->mesh; in mesh_init() 398 volatile struct mesh_regs __iomem *mr = ms->mesh; in mesh_start_cmd() 612 out_8(&ms->mesh->sequence, SEQ_ENBRESEL); in mesh_done() 613 mesh_flush_io(ms->mesh); in mesh_done() 635 volatile struct mesh_regs __iomem *mr = ms->mesh; in set_sdtr() 676 volatile struct mesh_regs __iomem *mr = ms->mesh; in start_phase() [all …]
|
/Linux-v6.6/drivers/net/wireless/marvell/libertas/ |
D | Makefile | 11 libertas-$(CONFIG_LIBERTAS_MESH) += mesh.o
|
D | mesh.c | 112 ie->val.mesh_id_len = mesh_wdev->u.mesh.id_up_len; in lbs_mesh_config() 113 memcpy(ie->val.mesh_id, mesh_wdev->u.mesh.id, in lbs_mesh_config() 114 mesh_wdev->u.mesh.id_up_len); in lbs_mesh_config() 1004 sprintf(mesh_wdev->u.mesh.id, "mesh"); in lbs_add_mesh() 1005 mesh_wdev->u.mesh.id_up_len = 4; in lbs_add_mesh()
|
D | Kconfig | 43 bool "Enable mesh support"
|
/Linux-v6.6/Documentation/admin-guide/perf/ |
D | arm-cmn.rst | 5 CMN-600 is a configurable mesh interconnect consisting of a rectangular 22 each mesh counts its own events entirely independently, and additional
|
/Linux-v6.6/arch/arm/boot/dts/nxp/imx/ |
D | imx7d-flex-concentrator.dts | 66 label = "hmi-c:red:mesh-error"; 71 label = "hmi-c:green:mesh-activity";
|