ifmsh            1945 net/mac80211/cfg.c static int copy_mesh_setup(struct ieee80211_if_mesh *ifmsh,
ifmsh            1950 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = container_of(ifmsh,
ifmsh            1955 net/mac80211/cfg.c 	old_ie = ifmsh->ie;
ifmsh            1963 net/mac80211/cfg.c 	ifmsh->ie_len = setup->ie_len;
ifmsh            1964 net/mac80211/cfg.c 	ifmsh->ie = new_ie;
ifmsh            1968 net/mac80211/cfg.c 	ifmsh->mesh_id_len = setup->mesh_id_len;
ifmsh            1969 net/mac80211/cfg.c 	memcpy(ifmsh->mesh_id, setup->mesh_id, ifmsh->mesh_id_len);
ifmsh            1970 net/mac80211/cfg.c 	ifmsh->mesh_sp_id = setup->sync_method;
ifmsh            1971 net/mac80211/cfg.c 	ifmsh->mesh_pp_id = setup->path_sel_proto;
ifmsh            1972 net/mac80211/cfg.c 	ifmsh->mesh_pm_id = setup->path_metric;
ifmsh            1973 net/mac80211/cfg.c 	ifmsh->user_mpm = setup->user_mpm;
ifmsh            1974 net/mac80211/cfg.c 	ifmsh->mesh_auth_id = setup->auth_id;
ifmsh            1975 net/mac80211/cfg.c 	ifmsh->security = IEEE80211_MESH_SEC_NONE;
ifmsh            1976 net/mac80211/cfg.c 	ifmsh->userspace_handles_dfs = setup->userspace_handles_dfs;
ifmsh            1978 net/mac80211/cfg.c 		ifmsh->security |= IEEE80211_MESH_SEC_AUTHED;
ifmsh            1980 net/mac80211/cfg.c 		ifmsh->security |= IEEE80211_MESH_SEC_SECURED;
ifmsh            1999 net/mac80211/cfg.c 	struct ieee80211_if_mesh *ifmsh;
ifmsh            2002 net/mac80211/cfg.c 	ifmsh = &sdata->u.mesh;
ifmsh            2021 net/mac80211/cfg.c 		if (ifmsh->user_mpm)
ifmsh            2050 net/mac80211/cfg.c 		ieee80211_mesh_root_setup(ifmsh);
ifmsh            2059 net/mac80211/cfg.c 			ieee80211_mesh_root_setup(ifmsh);
ifmsh            2112 net/mac80211/cfg.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            2115 net/mac80211/cfg.c 	memcpy(&ifmsh->mshcfg, conf, sizeof(struct mesh_config));
ifmsh            2116 net/mac80211/cfg.c 	err = copy_mesh_setup(ifmsh, setup);
ifmsh            3280 net/mac80211/cfg.c 		struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            3290 net/mac80211/cfg.c 		if (ifmsh->csa_role == IEEE80211_MESH_CSA_ROLE_NONE) {
ifmsh            3291 net/mac80211/cfg.c 			ifmsh->csa_role = IEEE80211_MESH_CSA_ROLE_INIT;
ifmsh            3292 net/mac80211/cfg.c 			if (!ifmsh->pre_value)
ifmsh            3293 net/mac80211/cfg.c 				ifmsh->pre_value = 1;
ifmsh            3295 net/mac80211/cfg.c 				ifmsh->pre_value++;
ifmsh            3302 net/mac80211/cfg.c 				ifmsh->csa_role = IEEE80211_MESH_CSA_ROLE_NONE;
ifmsh            3308 net/mac80211/cfg.c 		if (ifmsh->csa_role == IEEE80211_MESH_CSA_ROLE_INIT)
ifmsh              43 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh              45 net/mac80211/mesh.c 	set_bit(MESH_WORK_HOUSEKEEPING, &ifmsh->wrkq_flags);
ifmsh              62 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh              77 net/mac80211/mesh.c 	if (!(ifmsh->mesh_id_len == ie->mesh_id_len &&
ifmsh              78 net/mac80211/mesh.c 	     memcmp(ifmsh->mesh_id, ie->mesh_id, ie->mesh_id_len) == 0 &&
ifmsh              79 net/mac80211/mesh.c 	     (ifmsh->mesh_pp_id == ie->mesh_config->meshconf_psel) &&
ifmsh              80 net/mac80211/mesh.c 	     (ifmsh->mesh_pm_id == ie->mesh_config->meshconf_pmetric) &&
ifmsh              81 net/mac80211/mesh.c 	     (ifmsh->mesh_cc_id == ie->mesh_config->meshconf_congest) &&
ifmsh              82 net/mac80211/mesh.c 	     (ifmsh->mesh_sp_id == ie->mesh_config->meshconf_synch) &&
ifmsh              83 net/mac80211/mesh.c 	     (ifmsh->mesh_auth_id == ie->mesh_config->meshconf_auth)))
ifmsh             251 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             254 net/mac80211/mesh.c 	bool is_connected_to_gate = ifmsh->num_gates > 0 ||
ifmsh             255 net/mac80211/mesh.c 		ifmsh->mshcfg.dot11MeshGateAnnouncementProtocol ||
ifmsh             256 net/mac80211/mesh.c 		ifmsh->mshcfg.dot11MeshConnectedToMeshGate;
ifmsh             266 net/mac80211/mesh.c 	ifmsh->meshconf_offset = pos - skb->data;
ifmsh             269 net/mac80211/mesh.c 	*pos++ = ifmsh->mesh_pp_id;
ifmsh             271 net/mac80211/mesh.c 	*pos++ = ifmsh->mesh_pm_id;
ifmsh             273 net/mac80211/mesh.c 	*pos++ = ifmsh->mesh_cc_id;
ifmsh             275 net/mac80211/mesh.c 	*pos++ = ifmsh->mesh_sp_id;
ifmsh             277 net/mac80211/mesh.c 	*pos++ = ifmsh->mesh_auth_id;
ifmsh             279 net/mac80211/mesh.c 	neighbors = atomic_read(&ifmsh->estab_plinks);
ifmsh             284 net/mac80211/mesh.c 	*pos |= ifmsh->mshcfg.dot11MeshForwarding ?
ifmsh             286 net/mac80211/mesh.c 	*pos |= ifmsh->accepting_plinks ?
ifmsh             289 net/mac80211/mesh.c 	*pos |= ifmsh->ps_peers_deep_sleep ?
ifmsh             296 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             299 net/mac80211/mesh.c 	if (skb_tailroom(skb) < 2 + ifmsh->mesh_id_len)
ifmsh             302 net/mac80211/mesh.c 	pos = skb_put(skb, 2 + ifmsh->mesh_id_len);
ifmsh             304 net/mac80211/mesh.c 	*pos++ = ifmsh->mesh_id_len;
ifmsh             305 net/mac80211/mesh.c 	if (ifmsh->mesh_id_len)
ifmsh             306 net/mac80211/mesh.c 		memcpy(pos, ifmsh->mesh_id, ifmsh->mesh_id_len);
ifmsh             314 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             318 net/mac80211/mesh.c 	if (ifmsh->ps_peers_light_sleep == 0 &&
ifmsh             319 net/mac80211/mesh.c 	    ifmsh->ps_peers_deep_sleep == 0 &&
ifmsh             320 net/mac80211/mesh.c 	    ifmsh->nonpeer_pm == NL80211_MESH_POWER_ACTIVE)
ifmsh             329 net/mac80211/mesh.c 	put_unaligned_le16(ifmsh->mshcfg.dot11MeshAwakeWindowDuration, pos);
ifmsh             337 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             341 net/mac80211/mesh.c 	if (!ifmsh->ie || !ifmsh->ie_len)
ifmsh             345 net/mac80211/mesh.c 	offset = ieee80211_ie_split_vendor(ifmsh->ie, ifmsh->ie_len, 0);
ifmsh             347 net/mac80211/mesh.c 	if (offset < ifmsh->ie_len) {
ifmsh             348 net/mac80211/mesh.c 		len = ifmsh->ie_len - offset;
ifmsh             349 net/mac80211/mesh.c 		data = ifmsh->ie + offset;
ifmsh             360 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             364 net/mac80211/mesh.c 	if (!ifmsh->ie || !ifmsh->ie_len)
ifmsh             368 net/mac80211/mesh.c 	data = cfg80211_find_ie(WLAN_EID_RSN, ifmsh->ie, ifmsh->ie_len);
ifmsh             602 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             604 net/mac80211/mesh.c 	set_bit(MESH_WORK_ROOT, &ifmsh->wrkq_flags);
ifmsh             609 net/mac80211/mesh.c void ieee80211_mesh_root_setup(struct ieee80211_if_mesh *ifmsh)
ifmsh             611 net/mac80211/mesh.c 	if (ifmsh->mshcfg.dot11MeshHWMPRootMode > IEEE80211_ROOTMODE_ROOT)
ifmsh             612 net/mac80211/mesh.c 		set_bit(MESH_WORK_ROOT, &ifmsh->wrkq_flags);
ifmsh             614 net/mac80211/mesh.c 		clear_bit(MESH_WORK_ROOT, &ifmsh->wrkq_flags);
ifmsh             616 net/mac80211/mesh.c 		del_timer_sync(&ifmsh->mesh_path_root_timer);
ifmsh             694 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             697 net/mac80211/mesh.c 	if (ifmsh->mshcfg.plink_timeout > 0)
ifmsh             698 net/mac80211/mesh.c 		ieee80211_sta_expire(sdata, ifmsh->mshcfg.plink_timeout * HZ);
ifmsh             704 net/mac80211/mesh.c 	mod_timer(&ifmsh->housekeeping_timer,
ifmsh             711 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             716 net/mac80211/mesh.c 	if (ifmsh->mshcfg.dot11MeshHWMPRootMode == IEEE80211_PROACTIVE_RANN)
ifmsh             717 net/mac80211/mesh.c 		interval = ifmsh->mshcfg.dot11MeshHWMPRannInterval;
ifmsh             719 net/mac80211/mesh.c 		interval = ifmsh->mshcfg.dot11MeshHWMProotInterval;
ifmsh             721 net/mac80211/mesh.c 	mod_timer(&ifmsh->mesh_path_root_timer,
ifmsh             726 net/mac80211/mesh.c ieee80211_mesh_build_beacon(struct ieee80211_if_mesh *ifmsh)
ifmsh             740 net/mac80211/mesh.c 	sdata = container_of(ifmsh, struct ieee80211_sub_if_data, u.mesh);
ifmsh             762 net/mac80211/mesh.c 		   2 + ifmsh->mesh_id_len +
ifmsh             769 net/mac80211/mesh.c 		   ifmsh->ie_len;
ifmsh             802 net/mac80211/mesh.c 	csa = rcu_dereference(ifmsh->csa);
ifmsh             820 net/mac80211/mesh.c 		if (ifmsh->csa_role == IEEE80211_MESH_CSA_ROLE_INIT) {
ifmsh             821 net/mac80211/mesh.c 			*pos++ = ifmsh->mshcfg.dot11MeshTTL;
ifmsh             824 net/mac80211/mesh.c 			*pos++ = ifmsh->chsw_ttl;
ifmsh             830 net/mac80211/mesh.c 		put_unaligned_le16(ifmsh->pre_value, pos);
ifmsh             894 net/mac80211/mesh.c 					(bcn->tail + ifmsh->meshconf_offset);
ifmsh             897 net/mac80211/mesh.c 	rcu_assign_pointer(ifmsh->beacon, bcn);
ifmsh             926 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             935 net/mac80211/mesh.c 		set_bit(bit, &ifmsh->mbss_changed);
ifmsh             936 net/mac80211/mesh.c 	set_bit(MESH_WORK_MBSS_CHANGED, &ifmsh->wrkq_flags);
ifmsh             942 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             956 net/mac80211/mesh.c 	ifmsh->mesh_cc_id = 0;	/* Disabled */
ifmsh             958 net/mac80211/mesh.c 	ifmsh->sync_ops = ieee80211_mesh_sync_ops_get(ifmsh->mesh_sp_id);
ifmsh             959 net/mac80211/mesh.c 	ifmsh->sync_offset_clockdrift_max = 0;
ifmsh             960 net/mac80211/mesh.c 	set_bit(MESH_WORK_HOUSEKEEPING, &ifmsh->wrkq_flags);
ifmsh             961 net/mac80211/mesh.c 	ieee80211_mesh_root_setup(ifmsh);
ifmsh             964 net/mac80211/mesh.c 				ifmsh->mshcfg.ht_opmode;
ifmsh             969 net/mac80211/mesh.c 	if (ieee80211_mesh_build_beacon(ifmsh)) {
ifmsh             984 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             995 net/mac80211/mesh.c 	ifmsh->mesh_id_len = 0;
ifmsh            1001 net/mac80211/mesh.c 	bcn = rcu_dereference_protected(ifmsh->beacon,
ifmsh            1003 net/mac80211/mesh.c 	RCU_INIT_POINTER(ifmsh->beacon, NULL);
ifmsh            1007 net/mac80211/mesh.c 	local->total_ps_buffered -= skb_queue_len(&ifmsh->ps.bc_buf);
ifmsh            1008 net/mac80211/mesh.c 	skb_queue_purge(&ifmsh->ps.bc_buf);
ifmsh            1015 net/mac80211/mesh.c 	ifmsh->wrkq_flags = 0;
ifmsh            1016 net/mac80211/mesh.c 	ifmsh->mbss_changed = 0;
ifmsh            1044 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            1107 net/mac80211/mesh.c 	if (err > 0 && !ifmsh->userspace_handles_dfs) {
ifmsh            1133 net/mac80211/mesh.c 		ifmsh->chsw_ttl = csa_ie.ttl - 1;
ifmsh            1134 net/mac80211/mesh.c 		if (ifmsh->pre_value >= csa_ie.pre_value)
ifmsh            1136 net/mac80211/mesh.c 		ifmsh->pre_value = csa_ie.pre_value;
ifmsh            1139 net/mac80211/mesh.c 	if (ifmsh->chsw_ttl >= ifmsh->mshcfg.dot11MeshTTL)
ifmsh            1142 net/mac80211/mesh.c 	ifmsh->csa_role = IEEE80211_MESH_CSA_ROLE_REPEATER;
ifmsh            1156 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            1182 net/mac80211/mesh.c 	    (elems.mesh_id_len != ifmsh->mesh_id_len ||
ifmsh            1183 net/mac80211/mesh.c 	     memcmp(elems.mesh_id, ifmsh->mesh_id, ifmsh->mesh_id_len)))
ifmsh            1187 net/mac80211/mesh.c 	bcn = rcu_dereference(ifmsh->beacon);
ifmsh            1217 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            1261 net/mac80211/mesh.c 		if (ifmsh->csa_role != IEEE80211_MESH_CSA_ROLE_INIT &&
ifmsh            1266 net/mac80211/mesh.c 	if (ifmsh->sync_ops)
ifmsh            1267 net/mac80211/mesh.c 		ifmsh->sync_ops->rx_bcn_presp(sdata,
ifmsh            1273 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            1279 net/mac80211/mesh.c 	ifmsh->csa_role = IEEE80211_MESH_CSA_ROLE_NONE;
ifmsh            1280 net/mac80211/mesh.c 	ifmsh->chsw_ttl = 0;
ifmsh            1283 net/mac80211/mesh.c 	tmp_csa_settings = rcu_dereference_protected(ifmsh->csa,
ifmsh            1285 net/mac80211/mesh.c 	RCU_INIT_POINTER(ifmsh->csa, NULL);
ifmsh            1302 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            1316 net/mac80211/mesh.c 	rcu_assign_pointer(ifmsh->csa, tmp_csa_settings);
ifmsh            1320 net/mac80211/mesh.c 		tmp_csa_settings = rcu_dereference(ifmsh->csa);
ifmsh            1321 net/mac80211/mesh.c 		RCU_INIT_POINTER(ifmsh->csa, NULL);
ifmsh            1359 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            1379 net/mac80211/mesh.c 	ifmsh->chsw_ttl = elems.mesh_chansw_params_ie->mesh_ttl;
ifmsh            1380 net/mac80211/mesh.c 	if (!--ifmsh->chsw_ttl)
ifmsh            1384 net/mac80211/mesh.c 	if (ifmsh->pre_value >= pre_value)
ifmsh            1387 net/mac80211/mesh.c 	ifmsh->pre_value = pre_value;
ifmsh            1463 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            1466 net/mac80211/mesh.c 	for_each_set_bit(bit, &ifmsh->mbss_changed,
ifmsh            1468 net/mac80211/mesh.c 		clear_bit(bit, &ifmsh->mbss_changed);
ifmsh            1485 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            1493 net/mac80211/mesh.c 	if (ifmsh->preq_queue_len &&
ifmsh            1495 net/mac80211/mesh.c 		       ifmsh->last_preq + msecs_to_jiffies(ifmsh->mshcfg.dot11MeshHWMPpreqMinInterval)))
ifmsh            1498 net/mac80211/mesh.c 	if (test_and_clear_bit(MESH_WORK_HOUSEKEEPING, &ifmsh->wrkq_flags))
ifmsh            1501 net/mac80211/mesh.c 	if (test_and_clear_bit(MESH_WORK_ROOT, &ifmsh->wrkq_flags))
ifmsh            1504 net/mac80211/mesh.c 	if (test_and_clear_bit(MESH_WORK_DRIFT_ADJUST, &ifmsh->wrkq_flags))
ifmsh            1507 net/mac80211/mesh.c 	if (test_and_clear_bit(MESH_WORK_MBSS_CHANGED, &ifmsh->wrkq_flags))
ifmsh            1516 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            1519 net/mac80211/mesh.c 	timer_setup(&ifmsh->housekeeping_timer,
ifmsh            1522 net/mac80211/mesh.c 	ifmsh->accepting_plinks = true;
ifmsh            1523 net/mac80211/mesh.c 	atomic_set(&ifmsh->mpaths, 0);
ifmsh            1525 net/mac80211/mesh.c 	ifmsh->last_preq = jiffies;
ifmsh            1526 net/mac80211/mesh.c 	ifmsh->next_perr = jiffies;
ifmsh            1527 net/mac80211/mesh.c 	ifmsh->csa_role = IEEE80211_MESH_CSA_ROLE_NONE;
ifmsh            1534 net/mac80211/mesh.c 	timer_setup(&ifmsh->mesh_path_timer, ieee80211_mesh_path_timer, 0);
ifmsh            1535 net/mac80211/mesh.c 	timer_setup(&ifmsh->mesh_path_root_timer,
ifmsh            1537 net/mac80211/mesh.c 	INIT_LIST_HEAD(&ifmsh->preq_queue.list);
ifmsh            1538 net/mac80211/mesh.c 	skb_queue_head_init(&ifmsh->ps.bc_buf);
ifmsh            1539 net/mac80211/mesh.c 	spin_lock_init(&ifmsh->mesh_preq_queue_lock);
ifmsh            1540 net/mac80211/mesh.c 	spin_lock_init(&ifmsh->sync_offset_lock);
ifmsh            1541 net/mac80211/mesh.c 	RCU_INIT_POINTER(ifmsh->beacon, NULL);
ifmsh             235 net/mac80211/mesh.h void ieee80211_mesh_root_setup(struct ieee80211_if_mesh *ifmsh);
ifmsh             240 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             246 net/mac80211/mesh_hwmp.c 	if (time_before(jiffies, ifmsh->next_perr))
ifmsh             289 net/mac80211/mesh_hwmp.c 	ifmsh->next_perr = TU_TO_EXP_TIME(
ifmsh             290 net/mac80211/mesh_hwmp.c 				   ifmsh->mshcfg.dot11MeshHWMPperrMinInterval);
ifmsh             563 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             591 net/mac80211/mesh_hwmp.c 		if (SN_GT(target_sn, ifmsh->sn))
ifmsh             592 net/mac80211/mesh_hwmp.c 			ifmsh->sn = target_sn;
ifmsh             594 net/mac80211/mesh_hwmp.c 		if (time_after(jiffies, ifmsh->last_sn_update +
ifmsh             596 net/mac80211/mesh_hwmp.c 		    time_before(jiffies, ifmsh->last_sn_update)) {
ifmsh             597 net/mac80211/mesh_hwmp.c 			++ifmsh->sn;
ifmsh             598 net/mac80211/mesh_hwmp.c 			ifmsh->last_sn_update = jiffies;
ifmsh             600 net/mac80211/mesh_hwmp.c 		target_sn = ifmsh->sn;
ifmsh             609 net/mac80211/mesh_hwmp.c 				target_sn = ++ifmsh->sn;
ifmsh             611 net/mac80211/mesh_hwmp.c 				ifmsh->last_sn_update = jiffies;
ifmsh             639 net/mac80211/mesh_hwmp.c 		ttl = ifmsh->mshcfg.element_ttl;
ifmsh             648 net/mac80211/mesh_hwmp.c 			ifmsh->mshstats.dropped_frames_ttl++;
ifmsh             652 net/mac80211/mesh_hwmp.c 	if (forward && ifmsh->mshcfg.dot11MeshForwarding) {
ifmsh             659 net/mac80211/mesh_hwmp.c 			ifmsh->mshstats.dropped_frames_ttl++;
ifmsh             679 net/mac80211/mesh_hwmp.c 			ifmsh->mshstats.fwded_unicast++;
ifmsh             681 net/mac80211/mesh_hwmp.c 			ifmsh->mshstats.fwded_mcast++;
ifmsh             682 net/mac80211/mesh_hwmp.c 		ifmsh->mshstats.fwded_frames++;
ifmsh             699 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             714 net/mac80211/mesh_hwmp.c 	if (!ifmsh->mshcfg.dot11MeshForwarding)
ifmsh             761 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             771 net/mac80211/mesh_hwmp.c 		ifmsh->mshstats.dropped_frames_ttl++;
ifmsh             797 net/mac80211/mesh_hwmp.c 			if (!ifmsh->mshcfg.dot11MeshForwarding)
ifmsh             813 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             891 net/mac80211/mesh_hwmp.c 		ifmsh->mshstats.dropped_frames_ttl++;
ifmsh             897 net/mac80211/mesh_hwmp.c 	if (ifmsh->mshcfg.dot11MeshForwarding) {
ifmsh             974 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             983 net/mac80211/mesh_hwmp.c 	spin_lock_bh(&ifmsh->mesh_preq_queue_lock);
ifmsh             984 net/mac80211/mesh_hwmp.c 	if (ifmsh->preq_queue_len == MAX_PREQ_QUEUE_LEN) {
ifmsh             985 net/mac80211/mesh_hwmp.c 		spin_unlock_bh(&ifmsh->mesh_preq_queue_lock);
ifmsh             995 net/mac80211/mesh_hwmp.c 		spin_unlock_bh(&ifmsh->mesh_preq_queue_lock);
ifmsh            1006 net/mac80211/mesh_hwmp.c 	list_add_tail(&preq_node->list, &ifmsh->preq_queue.list);
ifmsh            1007 net/mac80211/mesh_hwmp.c 	++ifmsh->preq_queue_len;
ifmsh            1008 net/mac80211/mesh_hwmp.c 	spin_unlock_bh(&ifmsh->mesh_preq_queue_lock);
ifmsh            1010 net/mac80211/mesh_hwmp.c 	if (time_after(jiffies, ifmsh->last_preq + min_preq_int_jiff(sdata)))
ifmsh            1013 net/mac80211/mesh_hwmp.c 	else if (time_before(jiffies, ifmsh->last_preq)) {
ifmsh            1017 net/mac80211/mesh_hwmp.c 		ifmsh->last_preq = jiffies - min_preq_int_jiff(sdata) - 1;
ifmsh            1020 net/mac80211/mesh_hwmp.c 		mod_timer(&ifmsh->mesh_path_timer, ifmsh->last_preq +
ifmsh            1031 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            1038 net/mac80211/mesh_hwmp.c 	spin_lock_bh(&ifmsh->mesh_preq_queue_lock);
ifmsh            1039 net/mac80211/mesh_hwmp.c 	if (!ifmsh->preq_queue_len ||
ifmsh            1040 net/mac80211/mesh_hwmp.c 		time_before(jiffies, ifmsh->last_preq +
ifmsh            1042 net/mac80211/mesh_hwmp.c 		spin_unlock_bh(&ifmsh->mesh_preq_queue_lock);
ifmsh            1046 net/mac80211/mesh_hwmp.c 	preq_node = list_first_entry(&ifmsh->preq_queue.list,
ifmsh            1049 net/mac80211/mesh_hwmp.c 	--ifmsh->preq_queue_len;
ifmsh            1050 net/mac80211/mesh_hwmp.c 	spin_unlock_bh(&ifmsh->mesh_preq_queue_lock);
ifmsh            1080 net/mac80211/mesh_hwmp.c 	ifmsh->last_preq = jiffies;
ifmsh            1082 net/mac80211/mesh_hwmp.c 	if (time_after(jiffies, ifmsh->last_sn_update +
ifmsh            1084 net/mac80211/mesh_hwmp.c 	    time_before(jiffies, ifmsh->last_sn_update)) {
ifmsh            1085 net/mac80211/mesh_hwmp.c 		++ifmsh->sn;
ifmsh            1103 net/mac80211/mesh_hwmp.c 	mesh_path_sel_frame_tx(MPATH_PREQ, 0, sdata->vif.addr, ifmsh->sn,
ifmsh            1105 net/mac80211/mesh_hwmp.c 			       ttl, lifetime, 0, ifmsh->preq_id++, sdata);
ifmsh            1256 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            1257 net/mac80211/mesh_hwmp.c 	u32 interval = ifmsh->mshcfg.dot11MeshHWMPRannInterval;
ifmsh            1260 net/mac80211/mesh_hwmp.c 	flags = (ifmsh->mshcfg.dot11MeshGateAnnouncementProtocol)
ifmsh            1263 net/mac80211/mesh_hwmp.c 	switch (ifmsh->mshcfg.dot11MeshHWMPRootMode) {
ifmsh            1266 net/mac80211/mesh_hwmp.c 				       ++ifmsh->sn, 0, NULL, 0, broadcast_addr,
ifmsh            1267 net/mac80211/mesh_hwmp.c 				       0, ifmsh->mshcfg.element_ttl,
ifmsh            1274 net/mac80211/mesh_hwmp.c 		interval = ifmsh->mshcfg.dot11MeshHWMPactivePathToRootTimeout;
ifmsh            1278 net/mac80211/mesh_hwmp.c 				       ++ifmsh->sn, target_flags,
ifmsh            1280 net/mac80211/mesh_hwmp.c 				       0, ifmsh->mshcfg.element_ttl, interval,
ifmsh            1281 net/mac80211/mesh_hwmp.c 				       0, ifmsh->preq_id++, sdata);
ifmsh              79 net/mac80211/mesh_ps.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             125 net/mac80211/mesh_ps.c 		nonpeer_pm = ifmsh->mshcfg.power_mode;
ifmsh             129 net/mac80211/mesh_ps.c 	if (ifmsh->nonpeer_pm != nonpeer_pm ||
ifmsh             130 net/mac80211/mesh_ps.c 	    !ifmsh->ps_peers_light_sleep != !light_sleep_cnt ||
ifmsh             131 net/mac80211/mesh_ps.c 	    !ifmsh->ps_peers_deep_sleep != !deep_sleep_cnt)
ifmsh             134 net/mac80211/mesh_ps.c 	ifmsh->nonpeer_pm = nonpeer_pm;
ifmsh             135 net/mac80211/mesh_ps.c 	ifmsh->ps_peers_light_sleep = light_sleep_cnt;
ifmsh             136 net/mac80211/mesh_ps.c 	ifmsh->ps_peers_deep_sleep = deep_sleep_cnt;
ifmsh              49 net/mac80211/mesh_sync.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh              55 net/mac80211/mesh_sync.c 	spin_lock_bh(&ifmsh->sync_offset_lock);
ifmsh              56 net/mac80211/mesh_sync.c 	if (ifmsh->sync_offset_clockdrift_max < beacon_int_fraction) {
ifmsh              58 net/mac80211/mesh_sync.c 			  (long long) ifmsh->sync_offset_clockdrift_max);
ifmsh              59 net/mac80211/mesh_sync.c 		tsfdelta = -ifmsh->sync_offset_clockdrift_max;
ifmsh              60 net/mac80211/mesh_sync.c 		ifmsh->sync_offset_clockdrift_max = 0;
ifmsh              63 net/mac80211/mesh_sync.c 			  (long long) ifmsh->sync_offset_clockdrift_max,
ifmsh              66 net/mac80211/mesh_sync.c 		ifmsh->sync_offset_clockdrift_max -= beacon_int_fraction;
ifmsh              68 net/mac80211/mesh_sync.c 	spin_unlock_bh(&ifmsh->sync_offset_lock);
ifmsh              85 net/mac80211/mesh_sync.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh              90 net/mac80211/mesh_sync.c 	WARN_ON(ifmsh->mesh_sp_id != IEEE80211_SYNC_METHOD_NEIGHBOR_OFFSET);
ifmsh             150 net/mac80211/mesh_sync.c 		spin_lock_bh(&ifmsh->sync_offset_lock);
ifmsh             151 net/mac80211/mesh_sync.c 		if (t_clockdrift > ifmsh->sync_offset_clockdrift_max)
ifmsh             152 net/mac80211/mesh_sync.c 			ifmsh->sync_offset_clockdrift_max = t_clockdrift;
ifmsh             153 net/mac80211/mesh_sync.c 		spin_unlock_bh(&ifmsh->sync_offset_lock);
ifmsh             170 net/mac80211/mesh_sync.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh             172 net/mac80211/mesh_sync.c 	WARN_ON(ifmsh->mesh_sp_id != IEEE80211_SYNC_METHOD_NEIGHBOR_OFFSET);
ifmsh             175 net/mac80211/mesh_sync.c 	spin_lock_bh(&ifmsh->sync_offset_lock);
ifmsh             177 net/mac80211/mesh_sync.c 	if (ifmsh->sync_offset_clockdrift_max > TOFFSET_MINIMUM_ADJUSTMENT) {
ifmsh             185 net/mac80211/mesh_sync.c 			  ifmsh->sync_offset_clockdrift_max);
ifmsh             186 net/mac80211/mesh_sync.c 		set_bit(MESH_WORK_DRIFT_ADJUST, &ifmsh->wrkq_flags);
ifmsh             190 net/mac80211/mesh_sync.c 			  (long long)ifmsh->sync_offset_clockdrift_max);
ifmsh             191 net/mac80211/mesh_sync.c 		ifmsh->sync_offset_clockdrift_max = 0;
ifmsh             193 net/mac80211/mesh_sync.c 	spin_unlock_bh(&ifmsh->sync_offset_lock);
ifmsh            2673 net/mac80211/rx.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            2749 net/mac80211/rx.c 		IEEE80211_IFSTA_MESH_CTR_INC(ifmsh, dropped_frames_congestion);
ifmsh            2756 net/mac80211/rx.c 			IEEE80211_IFSTA_MESH_CTR_INC(ifmsh,
ifmsh            2761 net/mac80211/rx.c 	if (!ifmsh->mshcfg.dot11MeshForwarding)
ifmsh            2781 net/mac80211/rx.c 		IEEE80211_IFSTA_MESH_CTR_INC(ifmsh, fwded_mcast);
ifmsh            2787 net/mac80211/rx.c 		IEEE80211_IFSTA_MESH_CTR_INC(ifmsh, fwded_unicast);
ifmsh            2790 net/mac80211/rx.c 		mesh_path_error_tx(sdata, ifmsh->mshcfg.element_ttl,
ifmsh            2794 net/mac80211/rx.c 		IEEE80211_IFSTA_MESH_CTR_INC(ifmsh, dropped_frames_no_route);
ifmsh            2799 net/mac80211/rx.c 	IEEE80211_IFSTA_MESH_CTR_INC(ifmsh, fwded_frames);
ifmsh            4435 net/mac80211/tx.c 		struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            4437 net/mac80211/tx.c 		beacon = rcu_dereference(ifmsh->beacon);
ifmsh            4558 net/mac80211/tx.c 		struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            4560 net/mac80211/tx.c 		beacon = rcu_dereference(ifmsh->beacon);
ifmsh            4576 net/mac80211/tx.c 		if (ifmsh->sync_ops)
ifmsh            4577 net/mac80211/tx.c 			ifmsh->sync_ops->adjust_tsf(sdata, beacon);
ifmsh            4588 net/mac80211/tx.c 		ieee80211_beacon_add_tim(sdata, &ifmsh->ps, skb, is_template);
ifmsh            3528 net/mac80211/util.c 		struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
ifmsh            3540 net/mac80211/util.c 		put_unaligned_le16(ifmsh->pre_value, pos);/* Precedence Value */