freebsd-src/sys/net80211
Adrian Chadd 1375790a15 net80211: add IEEE80211_IS_QOS_NULL()
This will be useful when fixing up the sequence number generation
and checks, as the rules around how sequence numbers are generated
have been clarified in 802.11-2016 and later.  QoS-NULL frames are
explicitly marked as "any sequence number".

But for now, just create a macro and use it in the one place
it's currently being used as a check - ath(4).

* Add IEEE80211_IS_QOS_NULL().
* Change the "will this frame go into the TX block-ack window" check
  in the ath(4) transmit path.  Note this changes the check to be
  more specific, but both paths already had previous checks to ensure
  they're QoS data frames.

Locally tested:

* ath(4), AR9380, STA mode w/ AMPDU TX/RX enabled and negotiated

Differential Revision: https://reviews.freebsd.org/D47645
2024-11-18 20:50:17 -08:00
..
_ieee80211.h net80211: add initial key management suites from 802.11-2016, APIs to register them 2024-05-14 14:39:33 -07:00
ieee80211_acl.c
ieee80211_action.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_action.h
ieee80211_adhoc.c net80211: clean up / add more macros to check the frame types 2024-11-10 17:11:58 -08:00
ieee80211_adhoc.h
ieee80211_ageq.c
ieee80211_ageq.h
ieee80211_alq.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_alq.h
ieee80211_amrr.c net80211: amrr_init: change order of commands 2024-04-15 17:32:28 +00:00
ieee80211_amrr.h
ieee80211_crypto_ccmp.c
ieee80211_crypto_none.c
ieee80211_crypto_tkip.c net80211: clean up / add more macros to check the frame types 2024-11-10 17:11:58 -08:00
ieee80211_crypto_wep.c
ieee80211_crypto.c net80211: migrate the group/unicast key check into inline functions 2024-07-15 11:45:30 -07:00
ieee80211_crypto.h net80211: add initial key management suites from 802.11-2016, APIs to register them 2024-05-14 14:39:33 -07:00
ieee80211_ddb.c net80211: deal with lost state transitions 2024-02-14 19:47:21 +00:00
ieee80211_dfs.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_dfs.h
ieee80211_freebsd.c
ieee80211_freebsd.h net80211: allow a single wlan crypto module to register for >1 cipher 2024-05-14 14:39:24 -07:00
ieee80211_hostap.c net80211: clean up / add more macros to check the frame types 2024-11-10 17:11:58 -08:00
ieee80211_hostap.h
ieee80211_ht.c net80211: clean up / add more macros to check the frame types 2024-11-10 17:11:58 -08:00
ieee80211_ht.h
ieee80211_hwmp.c net80211: Fix a typo in a source code comment 2024-01-22 21:54:36 +01:00
ieee80211_input.c net80211: adjust more VHT structures/fields 2023-12-22 00:20:19 +00:00
ieee80211_input.h
ieee80211_ioctl.c net80211: add a new field specifically for announcing specific ciphers 2024-05-08 17:48:40 -07:00
ieee80211_ioctl.h net80211: add a new field specifically for announcing specific ciphers 2024-05-08 17:48:40 -07:00
ieee80211_mesh.c net80211: clean up / add more macros to check the frame types 2024-11-10 17:11:58 -08:00
ieee80211_mesh.h
ieee80211_monitor.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_monitor.h
ieee80211_node.c net80211: make sure calls to (*iv_update_bss)() are locked 2024-02-03 13:55:29 +00:00
ieee80211_node.h
ieee80211_output.c net80211: clean up / add more macros to check the frame types 2024-11-10 17:11:58 -08:00
ieee80211_phy.c
ieee80211_phy.h
ieee80211_power.c
ieee80211_power.h
ieee80211_proto.c net80211: deal with lost state transitions 2024-02-14 19:47:21 +00:00
ieee80211_proto.h
ieee80211_radiotap.c net80211: Correct a comment 2024-06-20 12:27:43 +08:00
ieee80211_radiotap.h net8011: radiotap: add more EHT constants 2024-04-14 23:09:09 +00:00
ieee80211_ratectl_none.c
ieee80211_ratectl.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_ratectl.h
ieee80211_regdomain.c
ieee80211_regdomain.h
ieee80211_rssadapt.c
ieee80211_rssadapt.h
ieee80211_scan_sta.c
ieee80211_scan_sw.c net80211: scan/internal: change boolean argument from int to bool 2024-07-26 11:07:39 +00:00
ieee80211_scan_sw.h
ieee80211_scan.c net80211: scan/internal: change boolean argument from int to bool 2024-07-26 11:07:39 +00:00
ieee80211_scan.h net80211: scan/internal: change boolean argument from int to bool 2024-07-26 11:07:39 +00:00
ieee80211_sta.c net80211: clean up / add more macros to check the frame types 2024-11-10 17:11:58 -08:00
ieee80211_sta.h
ieee80211_superg.c
ieee80211_superg.h
ieee80211_tdma.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_tdma.h
ieee80211_var.h net80211: migrate the group/unicast key check into inline functions 2024-07-15 11:45:30 -07:00
ieee80211_vht.c net80211: adjust more VHT structures/fields 2023-12-22 00:20:19 +00:00
ieee80211_vht.h net80211: adjust more VHT structures/fields 2023-12-22 00:20:19 +00:00
ieee80211_wds.c net80211: clean up / add more macros to check the frame types 2024-11-10 17:11:58 -08:00
ieee80211_wds.h
ieee80211_wps.h
ieee80211_xauth.c
ieee80211.c net80211: migrate the group/unicast key check into inline functions 2024-07-15 11:45:30 -07:00
ieee80211.h net80211: add IEEE80211_IS_QOS_NULL() 2024-11-18 20:50:17 -08:00