git: d296b65d8992 - main - LinuxKPI: 802.11 updates

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Fri, 20 May 2022 01:12:39 UTC
The branch main has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=d296b65d899249da24a8b277554df4af93357b36

commit d296b65d899249da24a8b277554df4af93357b36
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2022-05-18 22:39:57 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2022-05-20 01:11:22 +0000

    LinuxKPI: 802.11 updates
    
    Add more values to the ieee80211_min_mpdu_start_spacing enum with
    two missing given we do not know how they are called.  Also update
    the reference while here.
    
    Add struct ieee80211_hdr_3addr and correct the comment on the
    ieee80211_hdr to match the one in net80211 to avoid future confusion.
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      3 days
---
 sys/compat/linuxkpi/common/include/linux/ieee80211.h | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h
index e0aa558fe273..c131a6c69495 100644
--- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h
+++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h
@@ -130,9 +130,15 @@ enum wlan_ht_cap_sm_ps {
 #define	WLAN_KEY_LEN_CCMP			16
 #define	WLAN_KEY_LEN_GCMP_256			32
 
-/* 9.4.2.56.3, Table 9-163 Subfields of the A-MPDU Parameters field */
+/* 802.11-2020, 9.4.2.55.3, Table 9-185 Subfields of the A-MPDU Parameters field */
 enum ieee80211_min_mpdu_start_spacing {
 	IEEE80211_HT_MPDU_DENSITY_NONE		= 0,
+#if 0
+	IEEE80211_HT_MPDU_DENSITY_XXX		= 1,	/* 1/4 us */
+	IEEE80211_HT_MPDU_DENSITY_YYY		= 2,	/* 1/2 us */
+#endif
+	IEEE80211_HT_MPDU_DENSITY_1		= 3,	/* 1 us */
+	IEEE80211_HT_MPDU_DENSITY_2		= 4,	/* 2 us */
 	IEEE80211_HT_MPDU_DENSITY_4		= 5,	/* 4us */
 	IEEE80211_HT_MPDU_DENSITY_8		= 6,	/* 8us */
 	IEEE80211_HT_MPDU_DENSITY_16		= 7, 	/* 16us */
@@ -350,7 +356,7 @@ enum ieee80211_tx_rate_flags {
 
 #define	IEEE80211_HT_CTL_LEN	4
 
-struct ieee80211_hdr {		/* net80211::ieee80211_frame */
+struct ieee80211_hdr {		/* net80211::ieee80211_frame_addr4 */
         __le16		frame_control;
         __le16		duration_id;
 	uint8_t		addr1[ETH_ALEN];
@@ -360,6 +366,15 @@ struct ieee80211_hdr {		/* net80211::ieee80211_frame */
 	uint8_t		addr4[ETH_ALEN];
 };
 
+struct ieee80211_hdr_3addr {	/* net80211::ieee80211_frame */
+        __le16		frame_control;
+        __le16		duration_id;
+	uint8_t		addr1[ETH_ALEN];
+	uint8_t		addr2[ETH_ALEN];
+	uint8_t		addr3[ETH_ALEN];
+	__le16		seq_ctrl;
+};
+
 struct ieee80211_vendor_ie {
 };