Lines Matching refs:hdr
65 struct ieee80211_hdr *hdr; in should_drop_frame() local
67 hdr = (void *)(skb->data + rtap_vendor_space); in should_drop_frame()
77 if (ieee80211_is_ctl(hdr->frame_control) && in should_drop_frame()
78 !ieee80211_is_pspoll(hdr->frame_control) && in should_drop_frame()
79 !ieee80211_is_back_req(hdr->frame_control)) in should_drop_frame()
547 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_parse_qos() local
552 if (ieee80211_is_data_qos(hdr->frame_control)) { in ieee80211_parse_qos()
553 u8 *qc = ieee80211_get_qos_ctl(hdr); in ieee80211_parse_qos()
575 if (ieee80211_is_mgmt(hdr->frame_control)) in ieee80211_parse_qos()
625 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; in ieee80211_is_unicast_robust_mgmt_frame() local
627 if (is_multicast_ether_addr(hdr->addr1)) in ieee80211_is_unicast_robust_mgmt_frame()
636 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; in ieee80211_is_multicast_robust_mgmt_frame() local
638 if (!is_multicast_ether_addr(hdr->addr1)) in ieee80211_is_multicast_robust_mgmt_frame()
648 struct ieee80211_mgmt *hdr = (struct ieee80211_mgmt *) skb->data; in ieee80211_get_mmie_keyidx() local
652 if (skb->len < 24 + sizeof(*mmie) || !is_multicast_ether_addr(hdr->da)) in ieee80211_get_mmie_keyidx()
677 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; in iwl80211_get_cs_keyid() local
682 fc = hdr->frame_control; in iwl80211_get_cs_keyid()
697 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_rx_mesh_check() local
700 if (ieee80211_is_data(hdr->frame_control)) { in ieee80211_rx_mesh_check()
701 if (is_multicast_ether_addr(hdr->addr1)) { in ieee80211_rx_mesh_check()
702 if (ieee80211_has_tods(hdr->frame_control) || in ieee80211_rx_mesh_check()
703 !ieee80211_has_fromds(hdr->frame_control)) in ieee80211_rx_mesh_check()
705 if (ether_addr_equal(hdr->addr3, dev_addr)) in ieee80211_rx_mesh_check()
708 if (!ieee80211_has_a4(hdr->frame_control)) in ieee80211_rx_mesh_check()
710 if (ether_addr_equal(hdr->addr4, dev_addr)) in ieee80211_rx_mesh_check()
722 if (!ieee80211_is_mgmt(hdr->frame_control)) in ieee80211_rx_mesh_check()
725 if (ieee80211_is_action(hdr->frame_control)) { in ieee80211_rx_mesh_check()
732 mgmt = (struct ieee80211_mgmt *)hdr; in ieee80211_rx_mesh_check()
740 if (ieee80211_is_probe_req(hdr->frame_control) || in ieee80211_rx_mesh_check()
741 ieee80211_is_probe_resp(hdr->frame_control) || in ieee80211_rx_mesh_check()
742 ieee80211_is_beacon(hdr->frame_control) || in ieee80211_rx_mesh_check()
743 ieee80211_is_auth(hdr->frame_control)) in ieee80211_rx_mesh_check()
895 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; in ieee80211_sta_manage_reorder_buf() local
897 u16 sc = le16_to_cpu(hdr->seq_ctrl); in ieee80211_sta_manage_reorder_buf()
983 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; in ieee80211_rx_reorder_ampdu() local
990 if (!ieee80211_is_data_qos(hdr->frame_control) || in ieee80211_rx_reorder_ampdu()
991 is_multicast_ether_addr(hdr->addr1)) in ieee80211_rx_reorder_ampdu()
1002 ack_policy = *ieee80211_get_qos_ctl(hdr) & in ieee80211_rx_reorder_ampdu()
1004 tid = *ieee80211_get_qos_ctl(hdr) & IEEE80211_QOS_CTL_TID_MASK; in ieee80211_rx_reorder_ampdu()
1011 if (unlikely(hdr->frame_control & cpu_to_le16(IEEE80211_STYPE_NULLFUNC))) in ieee80211_rx_reorder_ampdu()
1030 sc = le16_to_cpu(hdr->seq_ctrl); in ieee80211_rx_reorder_ampdu()
1056 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_rx_h_check_dup() local
1067 if (ieee80211_is_ctl(hdr->frame_control) || in ieee80211_rx_h_check_dup()
1068 ieee80211_is_qos_nullfunc(hdr->frame_control) || in ieee80211_rx_h_check_dup()
1069 is_multicast_ether_addr(hdr->addr1)) in ieee80211_rx_h_check_dup()
1073 if (unlikely(ieee80211_has_retry(hdr->frame_control) && in ieee80211_rx_h_check_dup()
1075 hdr->seq_ctrl)) { in ieee80211_rx_h_check_dup()
1082 rx->sta->last_seq_ctrl[rx->seqno_idx] = hdr->seq_ctrl; in ieee80211_rx_h_check_dup()
1092 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_rx_h_check() local
1111 if (unlikely((ieee80211_is_data(hdr->frame_control) || in ieee80211_rx_h_check()
1112 ieee80211_is_pspoll(hdr->frame_control)) && in ieee80211_rx_h_check()
1123 ieee80211_is_data_present(hdr->frame_control)) { in ieee80211_rx_h_check()
1127 hdrlen = ieee80211_hdrlen(hdr->frame_control); in ieee80211_rx_h_check()
1139 hdr->addr2, in ieee80211_rx_h_check()
1154 struct ieee80211_hdr *hdr; in ieee80211_rx_h_check_more_data() local
1159 hdr = (struct ieee80211_hdr *) skb->data; in ieee80211_rx_h_check_more_data()
1164 if (!ieee80211_has_fromds(hdr->frame_control)) in ieee80211_rx_h_check_more_data()
1168 if (!ieee80211_is_data(hdr->frame_control)) in ieee80211_rx_h_check_more_data()
1171 if (!ieee80211_has_moredata(hdr->frame_control)) { in ieee80211_rx_h_check_more_data()
1264 struct ieee80211_hdr *hdr = (void *)rx->skb->data; in ieee80211_rx_h_uapsd_and_pspoll() local
1291 if (unlikely(ieee80211_is_pspoll(hdr->frame_control))) { in ieee80211_rx_h_uapsd_and_pspoll()
1304 } else if (!ieee80211_has_morefrags(hdr->frame_control) && in ieee80211_rx_h_uapsd_and_pspoll()
1306 ieee80211_has_pm(hdr->frame_control) && in ieee80211_rx_h_uapsd_and_pspoll()
1307 (ieee80211_is_data_qos(hdr->frame_control) || in ieee80211_rx_h_uapsd_and_pspoll()
1308 ieee80211_is_qos_nullfunc(hdr->frame_control))) { in ieee80211_rx_h_uapsd_and_pspoll()
1309 tid = *ieee80211_get_qos_ctl(hdr) & IEEE80211_QOS_CTL_TID_MASK; in ieee80211_rx_h_uapsd_and_pspoll()
1341 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; in ieee80211_rx_h_sta_process() local
1356 u8 *bssid = ieee80211_get_bssid(hdr, rx->skb->len, in ieee80211_rx_h_sta_process()
1361 if (ieee80211_is_data(hdr->frame_control) && in ieee80211_rx_h_sta_process()
1362 !is_multicast_ether_addr(hdr->addr1)) { in ieee80211_rx_h_sta_process()
1370 u8 *bssid = ieee80211_get_bssid(hdr, rx->skb->len, in ieee80211_rx_h_sta_process()
1375 } else if (!is_multicast_ether_addr(hdr->addr1)) { in ieee80211_rx_h_sta_process()
1381 if (ieee80211_is_data(hdr->frame_control)) { in ieee80211_rx_h_sta_process()
1393 ieee80211_sta_rx_notify(rx->sdata, hdr); in ieee80211_rx_h_sta_process()
1420 !ieee80211_has_morefrags(hdr->frame_control) && in ieee80211_rx_h_sta_process()
1428 (!ieee80211_is_mgmt(hdr->frame_control) || in ieee80211_rx_h_sta_process()
1429 ieee80211_is_bufferable_mmpdu(hdr->frame_control))) { in ieee80211_rx_h_sta_process()
1431 if (!ieee80211_has_pm(hdr->frame_control)) in ieee80211_rx_h_sta_process()
1434 if (ieee80211_has_pm(hdr->frame_control)) in ieee80211_rx_h_sta_process()
1441 ieee80211_mps_rx_h_sta_process(sta, hdr); in ieee80211_rx_h_sta_process()
1447 if (ieee80211_is_nullfunc(hdr->frame_control) || in ieee80211_rx_h_sta_process()
1448 ieee80211_is_qos_nullfunc(hdr->frame_control)) { in ieee80211_rx_h_sta_process()
1457 if (ieee80211_has_a4(hdr->frame_control) && in ieee80211_rx_h_sta_process()
1484 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; in ieee80211_rx_h_decrypt() local
1529 fc = hdr->frame_control; in ieee80211_rx_h_decrypt()
1546 if (!is_multicast_ether_addr(hdr->addr1) && sta_ptk) { in ieee80211_rx_h_decrypt()
1579 is_multicast_ether_addr(hdr->addr1) && in ieee80211_rx_h_decrypt()
1636 if (is_multicast_ether_addr(hdr->addr1) && rx->sta) in ieee80211_rx_h_decrypt()
1651 !is_multicast_ether_addr(hdr->addr1)) in ieee80211_rx_h_decrypt()
1737 int rx_queue, struct ieee80211_hdr *hdr) in ieee80211_reassemble_find() argument
1761 if (((hdr->frame_control ^ f_hdr->frame_control) & in ieee80211_reassemble_find()
1763 !ether_addr_equal(hdr->addr1, f_hdr->addr1) || in ieee80211_reassemble_find()
1764 !ether_addr_equal(hdr->addr2, f_hdr->addr2)) in ieee80211_reassemble_find()
1780 struct ieee80211_hdr *hdr; in ieee80211_rx_h_defragment() local
1788 hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_rx_h_defragment()
1789 fc = hdr->frame_control; in ieee80211_rx_h_defragment()
1794 sc = le16_to_cpu(hdr->seq_ctrl); in ieee80211_rx_h_defragment()
1797 if (is_multicast_ether_addr(hdr->addr1)) { in ieee80211_rx_h_defragment()
1815 hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_rx_h_defragment()
1853 rx->seqno_idx, hdr); in ieee80211_rx_h_defragment()
1955 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_drop_unencrypted_mgmt() local
1957 __le16 fc = hdr->frame_control; in ieee80211_drop_unencrypted_mgmt()
2003 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in __ieee80211_data_to_8023() local
2009 if (ieee80211_has_a4(hdr->frame_control) && in __ieee80211_data_to_8023()
2014 !!sdata->u.mgd.use_4addr != !!ieee80211_has_a4(hdr->frame_control)) { in __ieee80211_data_to_8023()
2022 if (is_multicast_ether_addr(hdr->addr1) && in __ieee80211_data_to_8023()
2168 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; in ieee80211_rx_h_amsdu() local
2169 __le16 fc = hdr->frame_control; in ieee80211_rx_h_amsdu()
2182 if (ieee80211_has_a4(hdr->frame_control) && in ieee80211_rx_h_amsdu()
2187 if (is_multicast_ether_addr(hdr->addr1) && in ieee80211_rx_h_amsdu()
2222 struct ieee80211_hdr *fwd_hdr, *hdr; in ieee80211_rx_h_mesh_fwding() local
2232 hdr = (struct ieee80211_hdr *) skb->data; in ieee80211_rx_h_mesh_fwding()
2233 hdrlen = ieee80211_hdrlen(hdr->frame_control); in ieee80211_rx_h_mesh_fwding()
2247 hdr = (struct ieee80211_hdr *) skb->data; in ieee80211_rx_h_mesh_fwding()
2250 if (ieee80211_drop_unencrypted(rx, hdr->frame_control)) in ieee80211_rx_h_mesh_fwding()
2254 if (ieee80211_is_data(hdr->frame_control) && in ieee80211_rx_h_mesh_fwding()
2255 is_multicast_ether_addr(hdr->addr1) && in ieee80211_rx_h_mesh_fwding()
2256 mesh_rmc_check(rx->sdata, hdr->addr3, mesh_hdr)) in ieee80211_rx_h_mesh_fwding()
2259 if (!ieee80211_is_data(hdr->frame_control) || in ieee80211_rx_h_mesh_fwding()
2271 if (is_multicast_ether_addr(hdr->addr1)) { in ieee80211_rx_h_mesh_fwding()
2272 mpp_addr = hdr->addr3; in ieee80211_rx_h_mesh_fwding()
2276 mpp_addr = hdr->addr4; in ieee80211_rx_h_mesh_fwding()
2296 if (!is_multicast_ether_addr(hdr->addr1) && in ieee80211_rx_h_mesh_fwding()
2297 ether_addr_equal(sdata->vif.addr, hdr->addr3)) in ieee80211_rx_h_mesh_fwding()
2300 q = ieee80211_select_queue_80211(sdata, skb, hdr); in ieee80211_rx_h_mesh_fwding()
2351 if (is_multicast_ether_addr(hdr->addr1) || in ieee80211_rx_h_mesh_fwding()
2365 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_rx_h_data() local
2366 __le16 fc = hdr->frame_control; in ieee80211_rx_h_data()
2370 if (unlikely(!ieee80211_is_data(hdr->frame_control))) in ieee80211_rx_h_data()
2373 if (unlikely(!ieee80211_is_data_present(hdr->frame_control))) in ieee80211_rx_h_data()
2389 if (ieee80211_has_a4(hdr->frame_control) && in ieee80211_rx_h_data()
3273 struct ieee80211_hdr *hdr) in prepare_for_handlers() argument
3278 u8 *bssid = ieee80211_get_bssid(hdr, skb->len, sdata->vif.type); in prepare_for_handlers()
3279 int multicast = is_multicast_ether_addr(hdr->addr1); in prepare_for_handlers()
3286 !ether_addr_equal(sdata->vif.addr, hdr->addr1)) { in prepare_for_handlers()
3296 if (ether_addr_equal(sdata->vif.addr, hdr->addr2) || in prepare_for_handlers()
3297 ether_addr_equal(sdata->u.ibss.bssid, hdr->addr2)) in prepare_for_handlers()
3299 if (ieee80211_is_beacon(hdr->frame_control)) { in prepare_for_handlers()
3304 !ether_addr_equal(sdata->vif.addr, hdr->addr1)) { in prepare_for_handlers()
3314 ieee80211_ibss_rx_no_sta(sdata, bssid, hdr->addr2, in prepare_for_handlers()
3321 if (ieee80211_is_beacon(hdr->frame_control)) { in prepare_for_handlers()
3328 hdr->addr1)) { in prepare_for_handlers()
3341 ieee80211_ocb_rx_no_sta(sdata, bssid, hdr->addr2, in prepare_for_handlers()
3347 !ether_addr_equal(sdata->vif.addr, hdr->addr1)) { in prepare_for_handlers()
3357 if (!ether_addr_equal(sdata->vif.addr, hdr->addr1)) in prepare_for_handlers()
3367 !ether_addr_equal(sdata->vif.addr, hdr->addr1)) in prepare_for_handlers()
3369 if (ieee80211_is_public_action(hdr, skb->len)) in prepare_for_handlers()
3371 if (!ieee80211_is_beacon(hdr->frame_control)) in prepare_for_handlers()
3374 } else if (!ieee80211_has_tods(hdr->frame_control)) { in prepare_for_handlers()
3376 if (ieee80211_is_data(hdr->frame_control)) in prepare_for_handlers()
3379 if (ieee80211_is_action(hdr->frame_control) && in prepare_for_handlers()
3381 !ether_addr_equal(bssid, hdr->addr1)) in prepare_for_handlers()
3386 if (bssid || !ieee80211_is_data(hdr->frame_control)) in prepare_for_handlers()
3388 if (!ether_addr_equal(sdata->u.wds.remote_addr, hdr->addr2)) in prepare_for_handlers()
3392 if (!ieee80211_is_public_action(hdr, skb->len) && in prepare_for_handlers()
3393 !ieee80211_is_probe_req(hdr->frame_control) && in prepare_for_handlers()
3394 !ieee80211_is_probe_resp(hdr->frame_control) && in prepare_for_handlers()
3395 !ieee80211_is_beacon(hdr->frame_control)) in prepare_for_handlers()
3397 if (!ether_addr_equal(sdata->vif.addr, hdr->addr1) && in prepare_for_handlers()
3422 struct ieee80211_hdr *hdr = (void *)skb->data; in ieee80211_prepare_and_rx_handle() local
3427 if (!prepare_for_handlers(rx, hdr)) in ieee80211_prepare_and_rx_handle()
3456 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()