Lines Matching refs:hdr

45 static u8 *ieee80211_get_bssid(struct ieee80211_hdr *hdr, size_t len,  in ieee80211_get_bssid()  argument
48 __le16 fc = hdr->frame_control; in ieee80211_get_bssid()
57 return hdr->addr1; in ieee80211_get_bssid()
59 return hdr->addr2; in ieee80211_get_bssid()
61 return hdr->addr3; in ieee80211_get_bssid()
67 return hdr->addr3; in ieee80211_get_bssid()
72 return hdr->addr1; in ieee80211_get_bssid()
77 return hdr->addr2; in ieee80211_get_bssid()
80 return hdr->addr1; in ieee80211_get_bssid()
120 struct ieee80211_hdr *hdr; in should_drop_frame() local
122 hdr = (void *)(skb->data + rtap_vendor_space); in should_drop_frame()
131 if (ieee80211_is_ctl(hdr->frame_control) && in should_drop_frame()
132 !ieee80211_is_pspoll(hdr->frame_control) && in should_drop_frame()
133 !ieee80211_is_back_req(hdr->frame_control)) in should_drop_frame()
596 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_parse_qos() local
601 if (ieee80211_is_data_qos(hdr->frame_control)) { in ieee80211_parse_qos()
602 u8 *qc = ieee80211_get_qos_ctl(hdr); in ieee80211_parse_qos()
624 if (ieee80211_is_mgmt(hdr->frame_control)) in ieee80211_parse_qos()
674 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; in ieee80211_is_unicast_robust_mgmt_frame() local
676 if (is_multicast_ether_addr(hdr->addr1)) in ieee80211_is_unicast_robust_mgmt_frame()
685 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; in ieee80211_is_multicast_robust_mgmt_frame() local
687 if (!is_multicast_ether_addr(hdr->addr1)) in ieee80211_is_multicast_robust_mgmt_frame()
697 struct ieee80211_mgmt *hdr = (struct ieee80211_mgmt *) skb->data; in ieee80211_get_mmie_keyidx() local
701 if (skb->len < 24 + sizeof(*mmie) || !is_multicast_ether_addr(hdr->da)) in ieee80211_get_mmie_keyidx()
726 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; in iwl80211_get_cs_keyid() local
731 fc = hdr->frame_control; in iwl80211_get_cs_keyid()
746 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_rx_mesh_check() local
749 if (ieee80211_is_data(hdr->frame_control)) { in ieee80211_rx_mesh_check()
750 if (is_multicast_ether_addr(hdr->addr1)) { in ieee80211_rx_mesh_check()
751 if (ieee80211_has_tods(hdr->frame_control) || in ieee80211_rx_mesh_check()
752 !ieee80211_has_fromds(hdr->frame_control)) in ieee80211_rx_mesh_check()
754 if (ether_addr_equal(hdr->addr3, dev_addr)) in ieee80211_rx_mesh_check()
757 if (!ieee80211_has_a4(hdr->frame_control)) in ieee80211_rx_mesh_check()
759 if (ether_addr_equal(hdr->addr4, dev_addr)) in ieee80211_rx_mesh_check()
771 if (!ieee80211_is_mgmt(hdr->frame_control)) in ieee80211_rx_mesh_check()
774 if (ieee80211_is_action(hdr->frame_control)) { in ieee80211_rx_mesh_check()
781 mgmt = (struct ieee80211_mgmt *)hdr; in ieee80211_rx_mesh_check()
789 if (ieee80211_is_probe_req(hdr->frame_control) || in ieee80211_rx_mesh_check()
790 ieee80211_is_probe_resp(hdr->frame_control) || in ieee80211_rx_mesh_check()
791 ieee80211_is_beacon(hdr->frame_control) || in ieee80211_rx_mesh_check()
792 ieee80211_is_auth(hdr->frame_control)) in ieee80211_rx_mesh_check()
944 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; in ieee80211_sta_manage_reorder_buf() local
946 u16 sc = le16_to_cpu(hdr->seq_ctrl); in ieee80211_sta_manage_reorder_buf()
1032 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; in ieee80211_rx_reorder_ampdu() local
1038 if (!ieee80211_is_data_qos(hdr->frame_control) || in ieee80211_rx_reorder_ampdu()
1039 is_multicast_ether_addr(hdr->addr1)) in ieee80211_rx_reorder_ampdu()
1050 ack_policy = *ieee80211_get_qos_ctl(hdr) & in ieee80211_rx_reorder_ampdu()
1052 tid = *ieee80211_get_qos_ctl(hdr) & IEEE80211_QOS_CTL_TID_MASK; in ieee80211_rx_reorder_ampdu()
1059 if (unlikely(hdr->frame_control & cpu_to_le16(IEEE80211_STYPE_NULLFUNC))) in ieee80211_rx_reorder_ampdu()
1074 sc = le16_to_cpu(hdr->seq_ctrl); in ieee80211_rx_reorder_ampdu()
1100 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_rx_h_check_dup() local
1111 if (ieee80211_is_ctl(hdr->frame_control) || in ieee80211_rx_h_check_dup()
1112 ieee80211_is_qos_nullfunc(hdr->frame_control) || in ieee80211_rx_h_check_dup()
1113 is_multicast_ether_addr(hdr->addr1)) in ieee80211_rx_h_check_dup()
1119 if (unlikely(ieee80211_has_retry(hdr->frame_control) && in ieee80211_rx_h_check_dup()
1120 rx->sta->last_seq_ctrl[rx->seqno_idx] == hdr->seq_ctrl)) { in ieee80211_rx_h_check_dup()
1125 rx->sta->last_seq_ctrl[rx->seqno_idx] = hdr->seq_ctrl; in ieee80211_rx_h_check_dup()
1134 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_rx_h_check() local
1148 if (unlikely((ieee80211_is_data(hdr->frame_control) || in ieee80211_rx_h_check()
1149 ieee80211_is_pspoll(hdr->frame_control)) && in ieee80211_rx_h_check()
1160 ieee80211_is_data_present(hdr->frame_control)) { in ieee80211_rx_h_check()
1164 hdrlen = ieee80211_hdrlen(hdr->frame_control); in ieee80211_rx_h_check()
1176 hdr->addr2, in ieee80211_rx_h_check()
1191 struct ieee80211_hdr *hdr; in ieee80211_rx_h_check_more_data() local
1196 hdr = (struct ieee80211_hdr *) skb->data; in ieee80211_rx_h_check_more_data()
1201 if (!ieee80211_has_fromds(hdr->frame_control)) in ieee80211_rx_h_check_more_data()
1205 if (!ieee80211_is_data(hdr->frame_control)) in ieee80211_rx_h_check_more_data()
1208 if (!ieee80211_has_moredata(hdr->frame_control)) { in ieee80211_rx_h_check_more_data()
1303 struct ieee80211_hdr *hdr = (void *)rx->skb->data; in ieee80211_rx_h_uapsd_and_pspoll() local
1330 if (unlikely(ieee80211_is_pspoll(hdr->frame_control))) { in ieee80211_rx_h_uapsd_and_pspoll()
1343 } else if (!ieee80211_has_morefrags(hdr->frame_control) && in ieee80211_rx_h_uapsd_and_pspoll()
1345 ieee80211_has_pm(hdr->frame_control) && in ieee80211_rx_h_uapsd_and_pspoll()
1346 (ieee80211_is_data_qos(hdr->frame_control) || in ieee80211_rx_h_uapsd_and_pspoll()
1347 ieee80211_is_qos_nullfunc(hdr->frame_control))) { in ieee80211_rx_h_uapsd_and_pspoll()
1348 tid = *ieee80211_get_qos_ctl(hdr) & IEEE80211_QOS_CTL_TID_MASK; in ieee80211_rx_h_uapsd_and_pspoll()
1380 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; in ieee80211_rx_h_sta_process() local
1395 u8 *bssid = ieee80211_get_bssid(hdr, rx->skb->len, in ieee80211_rx_h_sta_process()
1400 if (ieee80211_is_data(hdr->frame_control) && in ieee80211_rx_h_sta_process()
1401 !is_multicast_ether_addr(hdr->addr1)) { in ieee80211_rx_h_sta_process()
1414 } else if (!is_multicast_ether_addr(hdr->addr1)) { in ieee80211_rx_h_sta_process()
1420 if (ieee80211_is_data(hdr->frame_control)) { in ieee80211_rx_h_sta_process()
1429 ieee80211_sta_rx_notify(rx->sdata, hdr); in ieee80211_rx_h_sta_process()
1457 !ieee80211_has_morefrags(hdr->frame_control) && in ieee80211_rx_h_sta_process()
1465 (!ieee80211_is_mgmt(hdr->frame_control) || in ieee80211_rx_h_sta_process()
1466 ieee80211_is_bufferable_mmpdu(hdr->frame_control))) { in ieee80211_rx_h_sta_process()
1468 if (!ieee80211_has_pm(hdr->frame_control)) in ieee80211_rx_h_sta_process()
1471 if (ieee80211_has_pm(hdr->frame_control)) in ieee80211_rx_h_sta_process()
1478 ieee80211_mps_rx_h_sta_process(sta, hdr); in ieee80211_rx_h_sta_process()
1484 if (ieee80211_is_nullfunc(hdr->frame_control) || in ieee80211_rx_h_sta_process()
1485 ieee80211_is_qos_nullfunc(hdr->frame_control)) { in ieee80211_rx_h_sta_process()
1494 if (ieee80211_has_a4(hdr->frame_control) && in ieee80211_rx_h_sta_process()
1521 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; in ieee80211_rx_h_decrypt() local
1559 fc = hdr->frame_control; in ieee80211_rx_h_decrypt()
1576 if (!is_multicast_ether_addr(hdr->addr1) && sta_ptk) { in ieee80211_rx_h_decrypt()
1609 is_multicast_ether_addr(hdr->addr1) && in ieee80211_rx_h_decrypt()
1666 if (is_multicast_ether_addr(hdr->addr1) && rx->sta) in ieee80211_rx_h_decrypt()
1681 !is_multicast_ether_addr(hdr->addr1)) in ieee80211_rx_h_decrypt()
1766 int rx_queue, struct ieee80211_hdr *hdr) in ieee80211_reassemble_find() argument
1790 if (((hdr->frame_control ^ f_hdr->frame_control) & in ieee80211_reassemble_find()
1792 !ether_addr_equal(hdr->addr1, f_hdr->addr1) || in ieee80211_reassemble_find()
1793 !ether_addr_equal(hdr->addr2, f_hdr->addr2)) in ieee80211_reassemble_find()
1809 struct ieee80211_hdr *hdr; in ieee80211_rx_h_defragment() local
1817 hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_rx_h_defragment()
1818 fc = hdr->frame_control; in ieee80211_rx_h_defragment()
1823 sc = le16_to_cpu(hdr->seq_ctrl); in ieee80211_rx_h_defragment()
1826 if (is_multicast_ether_addr(hdr->addr1)) { in ieee80211_rx_h_defragment()
1844 hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_rx_h_defragment()
1882 rx->seqno_idx, hdr); in ieee80211_rx_h_defragment()
1983 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_drop_unencrypted_mgmt() local
1985 __le16 fc = hdr->frame_control; in ieee80211_drop_unencrypted_mgmt()
2031 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in __ieee80211_data_to_8023() local
2037 if (ieee80211_has_a4(hdr->frame_control) && in __ieee80211_data_to_8023()
2042 !!sdata->u.mgd.use_4addr != !!ieee80211_has_a4(hdr->frame_control)) { in __ieee80211_data_to_8023()
2050 if (is_multicast_ether_addr(hdr->addr1) && in __ieee80211_data_to_8023()
2192 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; in ieee80211_rx_h_amsdu() local
2193 __le16 fc = hdr->frame_control; in ieee80211_rx_h_amsdu()
2206 if (ieee80211_has_a4(hdr->frame_control) && in ieee80211_rx_h_amsdu()
2211 if (is_multicast_ether_addr(hdr->addr1) && in ieee80211_rx_h_amsdu()
2246 struct ieee80211_hdr *fwd_hdr, *hdr; in ieee80211_rx_h_mesh_fwding() local
2255 hdr = (struct ieee80211_hdr *) skb->data; in ieee80211_rx_h_mesh_fwding()
2256 hdrlen = ieee80211_hdrlen(hdr->frame_control); in ieee80211_rx_h_mesh_fwding()
2270 hdr = (struct ieee80211_hdr *) skb->data; in ieee80211_rx_h_mesh_fwding()
2273 if (ieee80211_drop_unencrypted(rx, hdr->frame_control)) in ieee80211_rx_h_mesh_fwding()
2277 if (ieee80211_is_data(hdr->frame_control) && in ieee80211_rx_h_mesh_fwding()
2278 is_multicast_ether_addr(hdr->addr1) && in ieee80211_rx_h_mesh_fwding()
2279 mesh_rmc_check(rx->sdata, hdr->addr3, mesh_hdr)) in ieee80211_rx_h_mesh_fwding()
2282 if (!ieee80211_is_data(hdr->frame_control)) in ieee80211_rx_h_mesh_fwding()
2293 if (is_multicast_ether_addr(hdr->addr1)) { in ieee80211_rx_h_mesh_fwding()
2294 mpp_addr = hdr->addr3; in ieee80211_rx_h_mesh_fwding()
2298 mpp_addr = hdr->addr4; in ieee80211_rx_h_mesh_fwding()
2318 if (!is_multicast_ether_addr(hdr->addr1) && in ieee80211_rx_h_mesh_fwding()
2319 ether_addr_equal(sdata->vif.addr, hdr->addr3)) in ieee80211_rx_h_mesh_fwding()
2322 ac = ieee80211_select_queue_80211(sdata, skb, hdr); in ieee80211_rx_h_mesh_fwding()
2374 if (is_multicast_ether_addr(hdr->addr1)) in ieee80211_rx_h_mesh_fwding()
2386 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_rx_h_data() local
2387 __le16 fc = hdr->frame_control; in ieee80211_rx_h_data()
2391 if (unlikely(!ieee80211_is_data(hdr->frame_control))) in ieee80211_rx_h_data()
2394 if (unlikely(!ieee80211_is_data_present(hdr->frame_control))) in ieee80211_rx_h_data()
2410 if (ieee80211_has_a4(hdr->frame_control) && in ieee80211_rx_h_data()
3304 struct ieee80211_hdr *hdr = (void *)skb->data; in ieee80211_accept_frame() local
3306 u8 *bssid = ieee80211_get_bssid(hdr, skb->len, sdata->vif.type); in ieee80211_accept_frame()
3307 int multicast = is_multicast_ether_addr(hdr->addr1); in ieee80211_accept_frame()
3315 return ether_addr_equal(sdata->vif.addr, hdr->addr1); in ieee80211_accept_frame()
3319 if (ether_addr_equal(sdata->vif.addr, hdr->addr2) || in ieee80211_accept_frame()
3320 ether_addr_equal(sdata->u.ibss.bssid, hdr->addr2)) in ieee80211_accept_frame()
3322 if (ieee80211_is_beacon(hdr->frame_control)) in ieee80211_accept_frame()
3327 !ether_addr_equal(sdata->vif.addr, hdr->addr1)) in ieee80211_accept_frame()
3335 ieee80211_ibss_rx_no_sta(sdata, bssid, hdr->addr2, in ieee80211_accept_frame()
3342 if (!ieee80211_is_data_present(hdr->frame_control)) in ieee80211_accept_frame()
3347 !ether_addr_equal(sdata->dev->dev_addr, hdr->addr1)) in ieee80211_accept_frame()
3355 ieee80211_ocb_rx_no_sta(sdata, bssid, hdr->addr2, in ieee80211_accept_frame()
3362 return ether_addr_equal(sdata->vif.addr, hdr->addr1); in ieee80211_accept_frame()
3366 return ether_addr_equal(sdata->vif.addr, hdr->addr1); in ieee80211_accept_frame()
3376 !ether_addr_equal(sdata->vif.addr, hdr->addr1)) in ieee80211_accept_frame()
3378 if (ieee80211_is_public_action(hdr, skb->len)) in ieee80211_accept_frame()
3380 return ieee80211_is_beacon(hdr->frame_control); in ieee80211_accept_frame()
3383 if (!ieee80211_has_tods(hdr->frame_control)) { in ieee80211_accept_frame()
3385 if (ieee80211_is_data(hdr->frame_control)) in ieee80211_accept_frame()
3388 if (ieee80211_is_action(hdr->frame_control) && in ieee80211_accept_frame()
3390 !ether_addr_equal(bssid, hdr->addr1)) in ieee80211_accept_frame()
3395 if (bssid || !ieee80211_is_data(hdr->frame_control)) in ieee80211_accept_frame()
3397 return ether_addr_equal(sdata->u.wds.remote_addr, hdr->addr2); in ieee80211_accept_frame()
3399 return ieee80211_is_public_action(hdr, skb->len) || in ieee80211_accept_frame()
3400 ieee80211_is_probe_req(hdr->frame_control) || in ieee80211_accept_frame()
3401 ieee80211_is_probe_resp(hdr->frame_control) || in ieee80211_accept_frame()
3402 ieee80211_is_beacon(hdr->frame_control); in ieee80211_accept_frame()
3455 struct ieee80211_hdr *hdr; in __ieee80211_rx_handle_packet() local
3487 hdr = (struct ieee80211_hdr *)skb->data; in __ieee80211_rx_handle_packet()
3491 if (unlikely(ieee80211_is_probe_resp(hdr->frame_control) || in __ieee80211_rx_handle_packet()
3492 ieee80211_is_beacon(hdr->frame_control))) in __ieee80211_rx_handle_packet()
3502 for_each_sta_info(local, tbl, hdr->addr2, sta, tmp) { in __ieee80211_rx_handle_packet()
3546 rx.sta = sta_info_get_bss(prev, hdr->addr2); in __ieee80211_rx_handle_packet()
3554 rx.sta = sta_info_get_bss(prev, hdr->addr2); in __ieee80211_rx_handle_packet()