Lines Matching refs:mgmt
20 bool mesh_action_is_path_sel(struct ieee80211_mgmt *mgmt) in mesh_action_is_path_sel() argument
22 return (mgmt->u.action.u.mesh_action.action_code == in mesh_action_is_path_sel()
615 struct ieee80211_mgmt *mgmt; in ieee80211_mesh_build_beacon() local
622 sizeof(mgmt->u.beacon); in ieee80211_mesh_build_beacon()
660 mgmt = (struct ieee80211_mgmt *) skb_put(skb, hdr_len); in ieee80211_mesh_build_beacon()
661 memset(mgmt, 0, hdr_len); in ieee80211_mesh_build_beacon()
662 mgmt->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT | in ieee80211_mesh_build_beacon()
664 eth_broadcast_addr(mgmt->da); in ieee80211_mesh_build_beacon()
665 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); in ieee80211_mesh_build_beacon()
666 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); in ieee80211_mesh_build_beacon()
667 ieee80211_mps_set_frame_flags(sdata, NULL, (void *) mgmt); in ieee80211_mesh_build_beacon()
668 mgmt->u.beacon.beacon_int = in ieee80211_mesh_build_beacon()
670 mgmt->u.beacon.capab_info |= cpu_to_le16( in ieee80211_mesh_build_beacon()
950 struct ieee80211_mgmt *mgmt, size_t len) in ieee80211_mesh_rx_probe_req() argument
961 pos = mgmt->u.probe_req.variable; in ieee80211_mesh_rx_probe_req()
962 baselen = (u8 *) pos - (u8 *) mgmt; in ieee80211_mesh_rx_probe_req()
972 if ((!ether_addr_equal(mgmt->da, sdata->vif.addr) && in ieee80211_mesh_rx_probe_req()
973 !is_broadcast_ether_addr(mgmt->da)) || in ieee80211_mesh_rx_probe_req()
999 memcpy(hdr->da, mgmt->sa, ETH_ALEN); in ieee80211_mesh_rx_probe_req()
1008 struct ieee80211_mgmt *mgmt, in ieee80211_mesh_rx_bcn_presp() argument
1022 !ether_addr_equal(mgmt->da, sdata->vif.addr)) in ieee80211_mesh_rx_bcn_presp()
1025 baselen = (u8 *) mgmt->u.probe_resp.variable - (u8 *) mgmt; in ieee80211_mesh_rx_bcn_presp()
1029 ieee802_11_parse_elems(mgmt->u.probe_resp.variable, len - baselen, in ieee80211_mesh_rx_bcn_presp()
1049 mesh_neighbour_update(sdata, mgmt->sa, &elems); in ieee80211_mesh_rx_bcn_presp()
1053 stype, mgmt, &elems, rx_status); in ieee80211_mesh_rx_bcn_presp()
1116 struct ieee80211_mgmt *mgmt, size_t len) in mesh_fwd_csa_frame() argument
1121 u8 *pos = mgmt->u.action.u.chan_switch.variable; in mesh_fwd_csa_frame()
1138 memcpy(mgmt_fwd, mgmt, len); in mesh_fwd_csa_frame()
1148 struct ieee80211_mgmt *mgmt, size_t len) in mesh_rx_csa_frame() argument
1157 if (mgmt->u.action.u.measurement.action_code != in mesh_rx_csa_frame()
1161 pos = mgmt->u.action.u.chan_switch.variable; in mesh_rx_csa_frame()
1184 if (mesh_fwd_csa_frame(sdata, mgmt, len) < 0) in mesh_rx_csa_frame()
1190 struct ieee80211_mgmt *mgmt, in ieee80211_mesh_rx_mgmt_action() argument
1194 switch (mgmt->u.action.category) { in ieee80211_mesh_rx_mgmt_action()
1196 switch (mgmt->u.action.u.self_prot.action_code) { in ieee80211_mesh_rx_mgmt_action()
1200 mesh_rx_plink_frame(sdata, mgmt, len, rx_status); in ieee80211_mesh_rx_mgmt_action()
1205 if (mesh_action_is_path_sel(mgmt)) in ieee80211_mesh_rx_mgmt_action()
1206 mesh_rx_path_sel_frame(sdata, mgmt, len); in ieee80211_mesh_rx_mgmt_action()
1209 mesh_rx_csa_frame(sdata, mgmt, len); in ieee80211_mesh_rx_mgmt_action()
1218 struct ieee80211_mgmt *mgmt; in ieee80211_mesh_rx_queued_mgmt() local
1228 mgmt = (struct ieee80211_mgmt *) skb->data; in ieee80211_mesh_rx_queued_mgmt()
1229 stype = le16_to_cpu(mgmt->frame_control) & IEEE80211_FCTL_STYPE; in ieee80211_mesh_rx_queued_mgmt()
1234 ieee80211_mesh_rx_bcn_presp(sdata, stype, mgmt, skb->len, in ieee80211_mesh_rx_queued_mgmt()
1238 ieee80211_mesh_rx_probe_req(sdata, mgmt, skb->len); in ieee80211_mesh_rx_queued_mgmt()
1241 ieee80211_mesh_rx_mgmt_action(sdata, mgmt, skb->len, rx_status); in ieee80211_mesh_rx_queued_mgmt()